배열의 요소 개수(size) 구하기

황준하·2022년 2월 22일
0
// 배열의 요소 개수(size)를 구해보자

#include <stdio.h>

int main() {
	int i;
	int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
	int b[10] = {1, 2, 3, 4, 5};

	int na = sizeof(a) / sizeof(a[0]);  // 배열 a의 전체 메모리 크기 ÷ a의 첫 번째 값의 메모리 크기
	printf("배열 안의 요소 개수(size) = %d \n", na);

	for (int i = 0; i < na; i++)  // 배열 안에 저장된 변수 값 출력
		printf("%d ", a[i]);

	printf("\n");

	int nb = sizeof(b) / sizeof(b[0]);
	for (int i = 0; i < nb; i++)  // 배열 안에 저장된 변수 값 출력
		printf("%d ", b[i]);

	return 0;
}
/*  출력

배열 안의 요소 개수(size) = 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 0 0 0 0 0

*/



  • sizeof(a) / sizeof(a[0])를 이용해서 배열의 요소 개수(size)를 구할 수 있다.

    • sizeof(a): a에 할당된 메모리 크기
    • sizeof(a[0]): a[0]에 할당된 메모리 크기
  • 메모리 크기

    • 할당되는 메모리 크기는 자료형마다 다르다.
      • char형 변수의 사이즈는 1byte
      • int/long/float는 4byte
      • double은 8byte
      • 메모리 주소(&a[0]과 같은)의 사이즈는 모두 4byte

0개의 댓글