다음과 같은 실제 코드를 보면서 결과를 예측해 보세요.
sizeof.c
#include <stdio.h> main() { int x; int a[5] = { 1, 2, 3, 4, 5 }; // 크기 5인 배열 변수 a 선언과 동시에 초기화 int b[] = { 1, 2, 3, 4, 5 }; // 크기 지정하지 않고 배열 변수 b 선언과 동시에 초기화 int c[10] = { 1, 2, 3, 4, 5 }; // 크기 10인 배열 변수 c 선언과 동시에 초기화 printf("변수 x의 크기는 %d byte입니다.\n", sizeof(x)); // 변수 x의 크기 구하기 printf("b의 배열 요소는 %d %d %d %d %d\n", b[0], b[1], b[2], b[3], b[4]); printf("배열 a의 크기는 %d byte입니다.\n", sizeof(a)); printf("배열 b의 크기는 %d byte입니다.\n", sizeof(b)); printf("배열 c의 크기는 %d byte입니다.\n", sizeof(c)); }
실행 결과
변수 x의 크기는 4 byte입니다.
b의 배열 요소는 1 2 3 4 5
배열 a의 크기는 20 byte입니다.
배열 b의 크기는 20 byte입니다.
배열 c의 크기는 40 byte입니다.