배열의 크기는 변수를 선언할 때부터 알고 있지만, 이는 인간의 머리 속으로 알고 있는 것이고, 프로그램 상으로 배열의 크기를 알 수 있도록 해야한다.
#include <stdio.h>
int main()
{
int arr[] = {519, 31, 7988, 165326, 100, 150};
printf("%d\n", sizeof(arr)); // 배열이 메모리 상에서 차지하고 있는 용량
// int 는 4 바이트이고 6개가 있으므로 출력 결과는 : 24
printf("%d\n", sizeof(arr) / sizeof(arr[0])); // 배열의 크기를 구하는 방법 중 하나
// 배열의 전체는 24 바이트지만 요소 하나는 4바이트
// 전체 배열을 요소 하나로 나누면 길이를 구할 수 있다
// 출력 결과는 24 / 4 이므로 6
return 0;
}
24
6
위와 같은 방법으로 배열의 크기를 쉽게 구할 수 있다. sizeof는 메모리상에서 차지하고 있는 용량에 대해서 알려준다. 이 sizeof를 이용하여 전체 배열을 배열 중 하나의 요소로 나누면 쉽게 배열의 크기를 알 수 있다.