반응형

 

아래와 같이 2차원 배열 형태로 선언할 수 있다.

그렇다고 실제 메모리 주소값이 저렇게 생긴 것이다 아니다.

메모리 주소값은 아래와 같이 byte가 증가하며, 다음 배열은 그 뒤에 이어서 쭉 증가한다. 실제 구조는 1차원적으로 생겼지만, 컴파일러를 통해 OS에서 이를 마치 2차원으로 간주하여 연산을 가능하도록 도와주는 것이다.

2차원 배열을 선언하고 출력하는 방법.

#include <stdio.h>

/*
	2차원배열 초기화 입력되지 않은 곳에는 자동 0 할당
*/

int main()
{
	// 2차원 배열의 초기화방법.
	// 가로길이에 대한 정보는 반드시 제공해야한다. (세로길이는 없어도 됨)
	// 그러면 나머지 길이는 컴파일러가 계산해서 넣음.
	int arr1[3][3] = {
		{1, 2, 3},
		{2, 3, 4},
		{4, 5, 6}
	};
	/*
	아래와 같은 형태의 행렬이 만들어짐
	[1, 2, 3]
	[2, 3, 4]
	[4, 5, 6]
	*/


	int arr2[][3] = {
		{1},
		{2, 3},
		{4, 5, 6}
	};
	/*
	아래와 같은 형태의 행렬이 만들어짐, 없는 곳은 0으로 채워짐
	[1, 0, 0]
	[2, 3, 0]
	[4, 5, 6]
	*/

	// 호출할때 함수변수는 arr[row][column] 이다.
	printf("행렬값 호출하기 arr1 2행 2열 : %d\n", arr1[1][1]);
	printf("행렬값 호출하기 arr2 3행 1열 : %d\n", arr2[2][0]);


	return 0;
}

(결과)

반응형

 

(아래는 2차원 배열의 사이즈를 보는 방법)

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

 

[C언어] 2차원 배열의 크기 보기 배열의 sizeof 사용법

배열의 크기를 보는 방법에 대한 예시 sizeof 로 크기를 확인하는데, 확인 방법과 해석은 아래와 같다. #include /* 2차원 배열의 크기 sizeof에 대해서. */ int main() { // 2차원 배열의 sizeof 크기 구해보기.

ansan-survivor.tistory.com

 

반응형

+ Recent posts