sizeof 연산자(operator)를 사용합니다. 함수는 아닙니다.
sizeof(array) 나누기 sizeof(array[0])
이렇게 하면, 배열 요소 개수(number of elements in an array)가 구해집니다.
sizeof(array) 로, 배열 전체의 바이트(Byte) 수를 구하고
sizeof(array[0]) 으로, 배열 첫번째 요소의 크기를 바이트 단위로 구합니다. 이것을 나누면, 배열의 요소 개수가 나옵니다. 다음 예제와 같습니다.
sizeof 연산자로 배열 사이즈 계산 예제
소스 파일명: example.cpp
#include <stdio.h>
int main(void) {
int foo[] = { 519, 31, 7988, 165326, 10, -24642, 134 };
// 배열의 바이트 수 (메모리 차지하는 용량) 출력
printf("%d\n", sizeof(foo));
// 출력 결과: 28
// 4바이트인 int가, 7개 있어, 4 * 7 = 28 이기에
// 배열 요소 개수 출력
printf("%d\n", sizeof(foo) / sizeof(foo[0]));
// 출력 결과: 7
// 배열에 7개의 요소가 있으므로
return 0;
}
int main(void) {
int foo[] = { 519, 31, 7988, 165326, 10, -24642, 134 };
// 배열의 바이트 수 (메모리 차지하는 용량) 출력
printf("%d\n", sizeof(foo));
// 출력 결과: 28
// 4바이트인 int가, 7개 있어, 4 * 7 = 28 이기에
// 배열 요소 개수 출력
printf("%d\n", sizeof(foo) / sizeof(foo[0]));
// 출력 결과: 7
// 배열에 7개의 요소가 있으므로
return 0;
}
=============================================================================
reference :
http://mwultong.blogspot.com/2007/02/c-get-array-size-number-of-elements.html
'언어 > ㄴC언어' 카테고리의 다른 글
[C언어] 이차원배열 더블포인터 관계 (1) | 2016.03.24 |
---|---|
[C언어] C언어 동적할당 (0) | 2016.03.24 |
[C언어] string to double 자료형 변환 (0) | 2016.03.23 |
[C언어] 프로젝트 만들기 (0) | 2016.03.18 |