프로그래밍언어/C언어[초급]

[C언어][초급] Chapter41. 2차원 배열 선언과 초기화 – 행과 열로 구성된 데이터 저장 방식

about_IT 2025. 4. 18. 18:09
728x90

1차원 배열은 일렬로 값을 저장하는 구조였죠.
이번에는 그보다 한 단계 확장된 2차원 배열에 대해 알아보겠습니다.

2차원 배열은 행(row)과 열(column)로 이루어진 표 형태의 데이터를 저장할 수 있습니다.
예를 들어 좌석 배치, 성적표, 게임 맵 등을 표현할 때 자주 사용됩니다.


● 2차원 배열 선언 방법

자료형 배열이름[행][열];

예시:

int matrix[2][3];
  • 2행 3열의 배열을 선언합니다.
  • 총 6개의 int형 공간이 생성됩니다.

● 배열 요소 접근

matrix[0][0] = 10;
matrix[0][1] = 20;
matrix[1][2] = 30;

인덱스는 matrix[행][열] 형태로 접근하며, 0부터 시작합니다.


● 선언과 동시에 초기화

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

중첩 중괄호를 이용해 행별로 초기값을 설정합니다.


● 전체를 0으로 초기화

int table[3][4] = {0};

모든 값을 0으로 초기화할 수 있습니다.


● 값 일부만 초기화

int data[2][3] = {{1}, {4}};

미지정된 값은 자동으로 0으로 초기화됩니다.
→ 결과: {{1, 0, 0}, {4, 0, 0}}


2차원 배열은 표 형태의 데이터를 처리할 때 매우 유용합니다.
다음 글에서는 이를 반복문과 함께 활용하는 방법을 소개하겠습니다.


● 실습 문제

문제 1

2행 3열의 정수형 배열을 선언하세요.

 

문제 2

다음과 같은 값으로 초기화된 배열을 선언하세요:
1 2 3
4 5 6

 

문제 3

배열의 [1][2] 위치에 99를 저장하는 코드를 작성하세요.

 

문제 4

크기 3행 4열의 배열을 0으로 초기화하는 코드를 작성하세요.

 

문제 5

2차원 배열은 어떤 상황에서 유용할까요? 예시를 들어보세요.

 









▶ 정답 확인하기

정답 1

int arr[2][3];

 

정답 2

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

 

정답 3

arr[1][2] = 99;

 

정답 4

int arr[3][4] = {0};

 

정답 5

2차원 배열은 좌석 배치표, 성적표, 게임 맵처럼 행과 열이 있는 데이터를 표현할 때 유용합니다.

728x90