본문 바로가기

Programming/C Language

다차원 배열

이번 시간에는 다차원 배열에 대해 정리하도록 하겠다.


다차원 배열이라 함은 2차원 이상의 배열들을 의미한다.

우리가 앞서 공부했던 1차원 배열의 연장선에 놓여있다.

앞서 공부했던 1차원 배열을 논리적으로 1차원의 형태를 띤다. 1차원 배열은 선 구조의 배열이고
2차원 배열은 평면 구조의 배열 , 3차원 배열은 직육면체 구조의 배열
이다.

참고로 1,2,3차원 배열의 선언법은 다음과 같다.


int onedimarr[5];                    //길이가 5인 1차원 int형 배열


int twodimarr[5][5];                //가로,세로의 길이가 각각 5인 2차원 int형 배열

int thrdimarr[5][5][5];                //가로,세로,높이의 길이가 각각 5인 3차원 int형 배열



이들 중 실제로 많이 사용되는 것은 1,2차원 배열이다.

2차원 배열에 대해 알아보도록 하자.


int arr[3][4];        //세로가 3 , 가로가 4인 int형 2차원 배열이 있다고 가정해보자

 [0][0]

[0][1] 

[0][2] 

[0][3] 

[1][0] 

[1][1] 

[1][2] 

[1][3] 

[2][0] 

[2][1] 

[2][2] 

[2][3] 


int arr[3][4]의 형태이다.
2차원 배열도 마찬가지로 index값을 적용시킨다.
2차원 배열의 선언형태는 다음과 같다.


TYPE 배열명[세로길이][가로길이];                        


다음 예제를 통해 2차원 배열과 각각의 요소에 주소값에 대해 알아보자.






6행에서 세로3 ,가로2의 int형 2차원 배열을 선언해줬다.

9행과 10행에서 반복문을 통해 2차원 배열의 각각의 요소에 접근하여 주소값을 출력한다.

결과값을 보자.




주소값을 통해 알수있는점이 무엇인가 , 우리는 2차원배열을 int형으로 선언했기 때문에 각각의 요소의 주소값은 4씩 차이가 남을 알수있다.



'Programming > C Language' 카테고리의 다른 글

구조체 ( Structure )  (0) 2017.11.01
문자,문자열 관련 함수  (0) 2017.11.01
Call By Value & Call By Reference  (0) 2017.11.01
포인터 배열  (0) 2017.11.01
포인터 연산  (0) 2017.10.31