다차원배열
1차원배열은 여러 개의 변수를 하나의 평면구조로 배열해 놓은 것을 의미한다고 했었다.
다차원배열은 이 1차원배열을 여러 개의 계층으로 나누어 놓은 것을 생각하면 된다.
다차원배열 선언
다차원배열의 선언은 1차원배열과 동일하게 자료형, 배열 이름, 배열의 길이를 필요로 한다.
배열의 길이를 작성할 때 원하는 차원의 개수 만큼 대괄호를 사용하여 명시해 주면 된다.
예를 들어 arr이라는 이름의 가로의 길이가 5이고 세로의 길이가 2인 정수형 2차원배열의 선언은 다음과 같이 할 수 있다.
int arr[2][5];
위 코드와 같이 선언하게 되면 2행 5열의 int형 배열이 선언된 것이다.
따라서 총 10개의 int형 변수를 저장할 수 있게 된다.
3차원배열은 2차원 배열과 마찬가지로 배열 이름 뒤에 대괄호를 3개 사용하여 길이를 선언해 주면 된다.
int arr[2][5][6];
이렇게 선언하게 되면 총 60개의 정수형 변수를 선언한 것과 동일하다.
다차원배열 초기화
다차원배열을 초기화하는 방법은 1차원배열과 유사하다.
중괄호를 사용하여 초기화 할 수 있는데 중괄호를 선언하고 싶은 차원의 개수만큼 중첩하여 써주면 된다.
int arr[3][3] = {{0, 1, 2}, {3, 4, 5}, {6, 7, 8}};
DEV C++ 컴파일러에서는 아래 코드처럼 초기화해도 문제가 없었다.
int arr[3][3] = {0, 1, 2, 3, 4, 5, 6, 7, 8};
다차원배열 접근
다차원배열에 접근하는 방법도 일차원배열과 비슷하다.
int arr[3][3] = {{0, 1, 2}, {3, 4, 5}, {6, 7, 8}};
아까 선언한 배열을 예시로 들어보자면
arr[0][0]에는 0, arr[0][1]에는 1 , arr[0][2]에는 2 ,
arr[1][0]에는 3 , arr[1][1]에는 4 , arr[1][2]에는 5 ,
arr[2][0]에는 6 , arr[2][1]에는 7 , arr[2][2]에는 8
이 저장된 것이다.
이렇게 9개의 변수가 선언된 것처럼 활용할 수 있다.
예시로 아래 코드는 반복문을 활용하여 만들어진 모든 배열을 출력하는 코드이다.
#include <stdio.h>
int main()
{
int arr[3][3] = {0, 1, 2, 3, 4, 5, 6, 7, 8};
int i = 0;
int j = 0;
for (;i<3;i++)
for (j=0;j<3;j++)
printf("%d\n", arr[i][j]);
}
'C언어 > C언어 문법' 카테고리의 다른 글
[C언어] 배열의 주소 (0) | 2024.02.12 |
---|---|
[C언어] 포인터 (단일, 다중포인터, 주소값, 참조와 역참조, 포인터배열) (0) | 2024.02.11 |
[C언어] 배열 (0) | 2024.02.11 |
[C언어] 지역변수, 전역변수 (0) | 2024.02.11 |
[C언어] 재귀함수 (0) | 2024.02.10 |