C언어 2차원 배열

코딩C언어
읽는데 4분 소요
처음 쓰여진 날: 2026-02-06
마지막 수정일: 2026-02-06
조회수: 3

요약

C언어 2차원 배열의 선언, 초기화, 메모리 구조를 알아봅니다. 정보처리기사 실기에 자주 출제되는 2차원 배열 문제를 풀기 위한 핵심 개념을 정리합니다.

2차원 배열 핵심 정리

개념설명예시
선언행과 열 크기 지정int arr[3][4];
초기화중괄호로 값 할당int arr[2][3] = {1,2,3,4,5,6};
접근arr[행][열]로 접근arr[0][1]
행 이름각 행의 시작 주소arr[0], arr[1]

2차원 배열이란?

2차원 배열은 행(row)과 열(column)로 구성된 표 형태의 배열입니다.

c
코드 하이라이팅 중...

이 코드는 3행 3열의 2차원 배열을 만들고 1부터 9까지 초기화합니다.


행과 열

2차원 배열에서 행(row) 은 가로줄, 열(column) 은 세로줄입니다.

2차원 배열의 행과 열
행(row)은 가로, 열(column)은 세로예요. arr[행][열] 순서로 접근합니다.
용어방향예시
행 (row)가로 →arr[0]은 0행 전체 (1, 2, 3)
열 (column)세로 ↓열 1은 각 행의 두 번째 값 (2, 5, 8)
c
코드 하이라이팅 중...
열 0열 1열 2
0행123
1행456
2행789

2차원 배열 선언

c
코드 하이라이팅 중...
c
코드 하이라이팅 중...

2차원 배열 초기화

한 줄로 초기화

c
코드 하이라이팅 중...
열 0열 1열 2
arr[0]123
arr[1]456

값은 행 순서대로 채워집니다. 먼저 0행을 채우고, 다음 1행을 채웁니다.

행별로 초기화

c
코드 하이라이팅 중...

중괄호로 행을 구분하면 가독성이 좋아집니다.



2차원 배열 접근

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

c
코드 하이라이팅 중...

메모리 구조

2차원 배열은 메모리에 행 단위로 연속해서 저장됩니다.

2차원 배열 메모리 구조
2차원 배열은 메모리에 행 단위로 연속 저장됩니다. arr[0], arr[1], arr[2]는 각 행의 시작 주소예요.
c
코드 하이라이팅 중...

메모리에는 다음과 같이 저장됩니다:

text
코드 하이라이팅 중...

행 이름은 주소다

1차원 배열 이름이 주소인 것처럼, 2차원 배열의 행 이름도 주소입니다.

c
코드 하이라이팅 중...
표현의미타입
arr2차원 배열 전체의 시작 주소int (*)[3]
arr[0]0행의 시작 주소int *
arr[1]1행의 시작 주소int *
arr[0][0]0행 0열의 값int

int (*)[3], int * 등의 포인터 타입이 헷갈린다면 포인터 타입 이해하기를 참고하세요.


2차원 배열과 포인터

2차원 배열의 행 주소를 포인터 배열에 저장하면, 포인터를 통해 2차원 배열에 접근할 수 있습니다.

c
코드 하이라이팅 중...

자세한 내용은 포인터 배열을 참고하세요.


정보처리기사 실기 대비 문제