다차원 배열

유석현(SeokHyun Yu)·2022년 7월 18일

C

목록 보기
16/26
post-thumbnail

1. 다차원 배열의 이해와 활용

int arr[3][4];


2차원 배열도 메모리상에서는 1차원의 형태로 존재한다.


1차원 배열과 마찬가지로 2차원 배열도 선언과 동시에 초기화가 가능하다.

2차원 배열의 가장 일반적인 초기화 방법은 다음과 같다.

int arr[3][3]={
   {1,2,3},
   {4,5,6},
   {7,8,9}
};

코드에서 보이듯이 초기화 리스트 안에는 행 단위로 초기화할 값들을 별도의 중괄호로 명시해야 한다.

물론 모든 배열요소를 초기화해야 하는 것은 아니다.

다음과 같이 일부 요소에 대해서는 초기화를 생략할 수 있다.

int arr[3][3]={
   {1},
   {2,3},
   {4,5,6}
};

위 코드에서 선언하고 있는 배열의 모든 행은 3개의 요소로 이뤄져 있다.

그런데 1행과 2행을 초기화할 값이 각각 두 개와 한 개가 부족하다.

이러한 경우 빈 영역은 0으로 초기화 된다.

int arr[3][3]={1,2,3,4,5,6,7,8,9};

위 코드와 같이 행 단위 중괄호 없이 초기화 리스트를 나열하면 1행 1열부터 시작해서 배열의 마지막 요소까지 순서대로 값이 초기화되는데, 부족한 영역은 0으로 초기화된다.


int arr[][2]={1,2,3,4,5,6,7,8};

배열의 세로 길이만 생략이 가능하다.


int arr[2][3][4];

3차원 배열이다.

높이/세로/가로 순으로 선언한다.

3차원 배열은 여러 개의 2차원 배열이 모여있는 형태로 이해하면 편하다.

int arr[3][3][2]={
   {
      {1,2},
      {1,2},
      {1,2}
   },
   {
      {1,2},
      {1,2},
      {1,2}
   },
   {
      {1,2},
      {1,2},
      {1,2}
   }
}
profile
Backend Engineer

0개의 댓글