C언어 기본 자료형과 상수, 메모리 크기 이해하기
3장. C언어 기본 개념 정리
1. sizeof(변수)
sizeof
연산자는 변수 또는 자료형이 메모리에서 차지하는 크기를 바이트 단위로 알려줍니다.
예를 들어, int
형 변수는 보통 4바이트, char
형 변수는 1바이트, float
형 변수는 4바이트를 차지합니다.
이를 통해 변수의 메모리 크기를 확인하고, 메모리 관리를 효율적으로 할 수 있습니다.
int a;
printf("%zu", sizeof(a)); // 보통 4 출력
2. unsigned int와
양수 표현
unsigned int
는 부호가 없는 정수형으로, 0 이상의 양수만 표현합니다.
예를 들어, unsigned int speed;
는 음수를 저장하지 않고 0부터 최댓값(약 42억)까지 저장할 수 있습니다.
3. 오버플로우(Overflow)
오버플로우란 변수가 표현할 수 있는 최대값을 넘는 수를 저장하려 할 때 발생하는 현상입니다.
예를 들어, 1바이트 unsigned char
는 0~255까지 표현 가능한데, 255에 1을 더하면 다시 0으로 돌아갑니다.
값이 최소값부터 다시 시작하는 현상이며, 프로그래밍 시 주의가 필요합니다.
4. 정수형 상수 표기법
정수 상수 뒤에 붙는 문자로 상수의 자료형을 지정할 수 있습니다.
u
또는U
:unsigned int
(예:123u
,123U
)l
또는L
:long
(예:123l
,123L
)ul
또는UL
:unsigned long
(예:123ul
,123UL
)
5. 8진수와 16진수 표현법
숫자를 8진수 또는 16진수로 표현할 때는 다음과 같습니다.
- 8진수 : 숫자 앞에
0
을 붙이면 8진수로 인식 (예:0200
) - 16진수 : 숫자 앞에
0x
또는0X
를 붙이면 16진수로 인식 (예:0x80
)
예를 들어,
printf("%#x %#o\n", 128, 128);
위 코드는 각각 128을 16진수 0x80
, 8진수 0200
로 출력합니다.
6. 기호 상수 (매크로 상수)
#define
을 사용하면 이름에 특정 값을 지정할 수 있습니다.
#define A 20
이렇게 하면 코드 내에서 A
는 자동으로 20
으로 대체됩니다. 가독성을 높이고 유지보수를 쉽게 도와줍니다.
7. const
키워드로 상수 선언
매크로 대신 타입 검사가 가능한 상수를 선언하려면 const
를 사용할 수 있습니다.
const int A = 20;
이 방법은 컴파일러가 타입을 체크해 주므로 더 안전하게 사용할 수 있습니다.
이번 장에서는 C언어 변수의 메모리 크기 확인, 부호 없는 정수형, 오버플로우, 정수형 상수 표기법, 진법 표현법, 그리고 상수 선언
'공부 > C언어' 카테고리의 다른 글
[C언어] C언어 배열 완전 정복 – 1차원과 2차원 배열의 이해와 활용 (0) | 2025.06.14 |
---|---|
[C언어] C언어 반복문 완전 정복 – While문, Do-while문, For문과 제어문 (0) | 2025.06.14 |
[C언어] 조건문과 제어문 완벽 이해하기 - If, Switch, Goto (0) | 2025.06.14 |
[C언어] C언어 연산자 완전 정복 (1) | 2025.06.14 |
[C언어] 변수 자료형과 출력 형식 지정자 완벽 정리 (1) | 2025.06.13 |