반응형

2차원 배열은 선언하고 출력하는 방법은 아래 참고.

https://ansan-survivor.tistory.com/1263

 

[C언어] C언어 2차원 배열 선언 및 초기화

아래와 같이 2차원 배열 형태로 선언할 수 있다. 그렇다고 실제 메모리 주소값이 저렇게 생긴 것이다 아니다. 메모리 주소값은 아래와 같이 byte가 증가하며, 다음 배열은 그 뒤에 이어서 쭉 증가

ansan-survivor.tistory.com

 

 

배열의 크기를 보는 방법에 대한 예시

sizeof 로 크기를 확인하는데, 확인 방법과 해석은 아래와 같다.

#include <stdio.h>

/*
	2차원 배열의 크기 sizeof에 대해서.
*/

int main()
{
	// 2차원 배열의 sizeof 크기 구해보기.

	int arr1[3][4];
	int arr2[7][9];

	printf("세로3 가로4: %d \n", sizeof(arr1));
	/*
	int형이므로 간격 4씩 차이.
	[ ] [ ] [ ] [ ] 4x4 = 16
 	[ ] [ ] [ ] [ ] 4x4 = 16
	[ ] [ ] [ ] [ ] 4x4 = 16
	16+16+16 = 48
	즉, arr1[3][4]의 2차원 배열의 크기는 48 byte
	*/


	printf("세로7 가로9: %d \n", sizeof(arr2));

	return 0;
}

int는 4 byte 이므로 int 배열 [3][4] 이면 Row(가로줄) 3줄, Column(세로줄) 4줄이다.

그러면 그림을 아래와 같이 표시할 수 있다.

[ ] [ ] [ ] [ ] 4개 x 4byte = 16
[ ] [ ] [ ] [ ] 4개 x 4byte = 16
[ ] [ ] [ ] [ ] 4개 x 4byte = 16

모두 합치면 총 48 byte.

 

단, PC의 OS별 int 기준 크기가 다를 수 있다.

반응형

(결과)

 

32bit PC 기준 byte 크기

출처: https://myblog.opendocs.co.kr/archives/1230

byte 크기에 대한 자세한 정보는 아래 블로그 참고

https://myblog.opendocs.co.kr/archives/1230

 

[C++ 정리] 자료형의 크기 및 범위 | Opendocs

__int64 8 byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

myblog.opendocs.co.kr

 

 

 

 

반응형

+ Recent posts