[C] C언어에서 배열 길이 구하기 (sizeof)

PersesTitan·2023년 4월 5일
0

C

목록 보기
5/9

저는 메인 언어가 Java이다 보니 length를 사용하여 배열을 구현하였지만 C에서는 length가 없기 때문에 직접 크기를 구해어야했습니다.

sizeof

sizeof를 사용하면 해당 타입의 크기를 반환해주는데요. 예시로 int4byte의 크기를 가지고 있기 때문에 int 타입을 sizeof를 사용하여 값을 구하면 4라는 값이 출력됩니다.
예시

(...)
int i = 0;
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(i));
(...)

출력

4
4

해당 기능을 이용하여 배열의 길이를 구할 수 있는데요. 배열은 기본타입사이즈 * 배열의길이의 값이 나오는데요.
예시로 int[10]인 배열은 int 가 4, 배열의 크기가 10이므로 40의 값이 출력되게 됩니다.
따라서 배열의 길이만 구하고 싶다면 배열의 sizeof / 기본타입사이즈를 해주면 배열의 길이를 구할 수 있게 됩니다.
예시

(...)
int array[10];
// sizeof(array) == 40
// sizeof(int) == 4
// sizeof(array) / sizeof(int) == 10
printf("%d", sizeof(array) / sizeof(int));
(...)

출력

10
profile
안녕하세요 페르세스 티탄입니다! 부족한 부분이 많이 있겠지만 잘부탁드립니다.

0개의 댓글