Computer Science
탄탄한 기반 실력을 위한
전공과 이론 지식 모음
Today I Learned!
배웠으면 기록을 해야지
TIL 사진
Flutter 사진
Flutter로 모바일까지
거꾸로캠퍼스 코딩랩 Flutter 앱개발 강사
스파르타코딩클럽 즉문즉답 튜터
카카오테크캠퍼스 3기 학습코치
프로필 사진
박성민
임베디드 세계에
발을 들인 박치기 공룡
임베디드 사진
EMBEDDED SYSTEM
임베디드 SW와 HW, 이론부터 실전까지
ALGORITHM
알고리즘 해결 전략 기록
🎓
중앙대학교 소프트웨어학부
텔레칩스 차량용 임베디드 스쿨 3기
애플 개발자 아카데미 1기
깃허브 사진
GitHub
프로젝트 모아보기
Instagram
인스타그램 사진

TIL

[250824] Day 14 - 즐거운 주말

sm_amoled 2025. 8. 25. 09:11

들어가며

즐거운 주말!

오늘의 키워드

const

const는 “자신의 왼쪽에 있는 것을 변경 불가능하게 만든다”

  • int * const a
    • 포인터 자체를 수정하지 못함 / int 값은 변경될 수 있다.
  • int const * a
    • int가 수정되지 못함 / 포인터주소는 변경될 수 있다.
  • const int * a
    • 가장 왼쪽에 const가 있는 경우에는 타입을 상수화
    • int const * a 와 동일함
    • int가 수정되지 못함 / 포인터주소는 변경될 수 있다.
  • const int * const a
    • int 값을 변경하지 못하고, 포인터 값도 변경하지 못한다.

Implementation-Defined Behaviour

프로그램의 이식성을 위해 C언어의 표준에서는 3가지 Behaviour를 규정함. 그 중에서 Implementation-Defined Behaviour는 여러 동작 중 한가지를 수행할 수 있음.

표준은 1개 이상의 동작 가능성을 제공함(=Unspecified Behaviour). 그런데, 특정 시스템마다 표준을 참조해 어떤 동작을 할 지를 미리 정해서 이를 문서화해 제공해야함.

어떻게 동작할 지 헷갈린다면 문서를 참고하면 되는 Behaviour임.

short, int, long 자료형을 필요로 하며, 위 자료형들은 각각의 특정 범위를 담당할 것.
int의 표현범위는 short 보다 작지 않을 것.
long의 표현범위는 int 보다 작지 않을 것.
// 16bit 시스템에서는 int가 2byte / 32bit 시스템에서는 int가 4byte 

char c = 200
// 플랫폼에 따라 char를 signed / unsigned로 바라봄

int x = -1;
unsigned int y = x >> 1;
// 컴파일러의 구현에 따라 다르게 동작할 수 있음.

딥다이브

[C언어] stdint.h 를 통한 타입 작성과 CLANG Header 읽기 개고생

stdint.h 헤더파일을 이용해 타입을 더욱 정확하게 작성하는 방법을 알아보기 위해 헤더파일을 직접 읽어보면서 어떤 타입들이 있고 + 해당 타입을 어떻게 정의하고 있는지 살펴보았다. 다만 그 과정에서 동일한 헤더파일에 대해서 Clang의 기본 헤더파일과 별개로 타겟 플랫폼을 위한 헤더파일이 각각 존재하며, import 과정에서 이를 이용하여 빌드 과정에서 타겟에 따라 정확하게 자료형을 넣어 빌드한다는 것을 배웠다.

개고생

공백문자

320x100