글
이번에는, 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 차원 배열 요소의 개수를 출력합니다.
[실행 결과]
'1.1) 실습' 카테고리의 다른 글
2 차원 배열의 행 개수와 열 개수 구하기 (0) | 2017.05.22 |
---|---|
2 차원 배열을 함수에서 반환하기 (6) | 2015.08.02 |
2 차원 배열을 함수의 인자로 전달하기 (0) | 2015.08.02 |
정수 배열에서 중복 값 (요소) 제거하기 (2) - O(nlogn) (0) | 2015.06.08 |
정수 배열에서 중복 값 (요소) 제거하기 (1) - O(n2) (5) | 2015.06.08 |
1 초에 한 번씩 데이터 출력하기 (0) | 2015.06.08 |
프로그램 강제로 종료시키기 (0) | 2015.06.08 |
콘솔 화면 지우기 (6) | 2015.06.08 |
소리 및 음악 재생하기 (1) - WinApi (4) | 2015.05.25 |
의사 난수 (랜덤 숫자) 생성하기 (0) | 2015.05.17 |
RECENT COMMENT