1.1) 실습
1 차원 배열 요소의 개수 구하기
kkikkodev
2017. 5. 22. 17:42
이번에는, 1 차원 배열 요소의 개수를 구하는 예제를 보여드리겠습니다.
#include <stdio.h> #define ARR_SIZE 10 int main(int argc, char* argv[]) { int arr[ARR_SIZE]; int totalSize = sizeof(arr); int elementSize = sizeof(arr[0]); // or sizeof(int); int count = totalSize / elementSize; printf("배열 요소의 개수 : %d\n", count); return 0; }
3 라인
배열 요소의 개수를 상수화합니다.
6 라인
배열을 선언합니다. (여기서는 편의상 정수형 배열을 선언하겠습니다.)
7 라인
sizeof(arr) 문장을 통해서 arr 배열의 전체 크기를 byte 로 구해서 totalSize 변수에 대입합니다. arr 배열의 전체 크기는 int 형 (4 byte) 가 총 ARR_SIZE (10) 개이므로 (4 X 10) 40 byte 가 됩니다.
8 라인
sizeof(arr[0]) 문장을 통해서 arr 배열의 0 번째 요소의 크기를 byte 로 구해서 elementSize 변수에 대입합니다. arr[0] 의 크기는 int 형이므로 4 byte 가 됩니다. sizeof(arr[0]) 대신 sizeof(int) 로 배열 요소 한 개의 크기를 구해도 됩니다.
9 라인
totalSize (40) / elementSize (4) 의 결과를 count 변수에 대입합니다. (40 / 4 = 10) 이것이 배열 요소의 개수가 됩니다.
10 라인
구한 1 차원 배열 요소의 개수를 출력합니다.
[실행 결과]