정처기 감자정처기 감자
C언어배열

검색

검색어를 입력해 개념, 문제, 필기를 찾습니다.

C언어 2차원 배열

코딩C언어
읽는데 6분 소요
처음 쓰인 날: 2026-02-06
마지막 수정일: 2026-03-21
조회수: —
선수학습(1개)
  • 배열과 리스트의 기초

요약

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] → arr[2]
행 이름각 행의 시작 주소arr[0], arr[1]

2차원 배열이란?

1차원 배열이 값을 한 줄로 나열한다면, 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
코드 하이라이팅 중…

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

값은 행 순서대로 채워집니다
한 줄로 초기화할 때, 값은 0행부터 차례로 채워집니다. 열 크기만큼 채우면 다음 행으로 넘어갑니다. 시험에서 초기화 순서를 물어보는 문제가 자주 출제됩니다.

2차원 배열 접근

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

c
코드 하이라이팅 중…

실기 시험에서는 2차원 배열을 for문으로 순회하는 문제가 자주 출제됩니다. 바깥 for문이 행, 안쪽 for문이 열을 담당하는 패턴을 기억하세요.

인덱스는 0부터 시작합니다
arr[2][3]으로 선언하면 행은 0, 1 (2개), 열은 0, 1, 2 (3개)입니다. arr[2][3]에 접근하면 범위를 벗어나서 오류가 발생합니다.

메모리 구조

2차원 배열은 화면에서는 표처럼 보이지만, 실제 메모리에는 한 줄로 쭉 이어져서 저장됩니다. 0행의 값들이 먼저 저장되고, 바로 이어서 1행, 2행 순서로 저장됩니다.

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

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

text
코드 하이라이팅 중…

arr[0]의 값 3개가 먼저 오고, 바로 다음 주소에 arr[1]의 값 3개, 그 다음에 arr[2]의 값 3개가 이어집니다. 이렇게 행 순서대로 연속 저장되기 때문에 한 줄로 초기화할 때 값이 행 순서대로 채워지는 것입니다.


행 이름은 주소다

1차원 배열에서 배열 이름이 주소인 것처럼, 2차원 배열의 행 이름도 주소입니다. arr[0]이라고 쓰면 0행에 저장된 값이 아니라, 0행이 시작되는 메모리 주소를 가리킵니다.

c
코드 하이라이팅 중…
표현의미
arr2차원 배열 전체의 시작 주소
arr[0]0행의 시작 주소
arr[1]1행의 시작 주소
arr[0][0]0행 0열의 값 (주소가 아니라 실제 정수값)

포인터 타입이 궁금하다면 포인터 페이지에서 자세히 다룹니다.


2차원 배열과 포인터

포인터를 아직 배우지 않았다면 이 섹션은 건너뛰어도 괜찮습니다. 포인터를 배운 뒤에 돌아오면 됩니다.

2차원 배열의 행 주소를 포인터 배열에 저장하면, 포인터를 통해 2차원 배열에 접근할 수 있습니다. int *parr[2]는 int 포인터 2개를 담는 배열입니다.

c
코드 하이라이팅 중…

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


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

문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
메가커피와 함께, 홈페이지 개선에 참여하세요! ☕
혹시 이용에 불편한 점이나 개선이 필요한 부분을 발견하셨나요? 댓글로 알려주시면 더 나은 감자가 될 수 있어요! 🥔 제보해주신 모든 분께 메가커피 기프티콘을 드립니다! (본인 이메일로 댓글 달아주셔야해요~)

관련 글

(41개)
제목태그업데이트시험
C언어 형변환 (Casting)
C언어코딩C언어
2026-05-15-
C언어 연결 리스트 뒤집기 (Reverse Linked List)
C언어코딩C언어
2026-05-06-
C언어 사용자 정의 함수 기초
C언어코딩C언어
2026-05-06-
C언어41개
제목태그업데이트시험
C언어 형변환 (Casting)
C언어코딩C언어
2026-05-15-
C언어 연결 리스트 뒤집기 (Reverse Linked List)
C언어코딩C언어
2026-05-06-
C언어 사용자 정의 함수 기초
C언어코딩C언어
2026-05-06-
C언어 sizeof 연산자
C언어코딩C언어
2026-05-06-
C언어 이진 트리 (Binary Tree)
C언어코딩C언어
2026-04-24-
C언어 중첩 구조체와 포인터 접근
C언어코딩C언어
2026-04-24-
C언어 함수 포인터 (Function Pointer)
C언어코딩C언어
2026-04-24-
배열 C언어 코딩 감자시험
감자시험C언어배열감자시험
2026-03-28응시
C언어 왕감자 정보처리기사 실기 모의 시험
C언어C언어
2026-03-27응시
제어문/반복문 C언어 코딩 감자시험
감자시험C언어제어문반복문
2026-03-28응시
연산자 C언어 코딩 감자시험
감자시험C언어연산자감자시험
2026-03-28응시
포인터 C언어 코딩 감자시험
감자시험C언어포인터감자시험
2026-03-28응시
문자열 C언어 코딩 감자시험
감자시험C언어문자열감자시험
2026-03-28응시
구조체 C언어 코딩 감자시험
감자시험C언어구조체감자시험
2026-03-28응시
C언어 구조체 배열
C언어코딩C언어
2026-03-21-
C언어 구조체 포인터
C언어코딩C언어
2026-04-24-
C언어 함수 프로토타입
C언어코딩C언어
2026-03-21-
C언어 입력 함수 - scanf, getchar, gets
C언어코딩C언어
2026-03-21-
C언어 출력 함수 - putchar, printf, puts
C언어코딩C언어
2026-09-29-
C언어 문자열 포인터 (char *)
C언어코딩C언어
2026-03-21-
C언어 포인터 산술 (Pointer Arithmetic)
C언어코딩C언어
2026-03-21-
C언어 재귀함수 (Recursion)
C언어코딩C언어
2026-03-21-
C언어 선택정렬 (Selection Sort)
C언어코딩C언어
2026-02-10-
C언어 스택 (Stack) - LIFO 자료구조
C언어코딩C언어
2026-03-21-
C언어 원형 큐 (Circular Queue)
C언어코딩C언어
2026-03-21-
C언어 ctype.h 문자 판별 함수
C언어코딩C언어
2026-03-21-
C언어 자료형
C언어코딩C언어
2026-05-15-
C언어 이중 포인터 (Double Pointer)
C언어코딩C언어
2026-03-21-
C언어 동적 메모리 할당 (malloc, free)
C언어코딩C언어
2026-05-04-
C언어 헤더 파일과 #include
C언어코딩C언어
2026-03-21-
C언어 연결 리스트 (Linked List)
C언어코딩C언어
2026-05-06-
C언어 포인터 배열과 2차원 배열
C언어코딩C언어
2026-03-24-
C언어 포인터의 기초
C언어코딩C언어
2026-06-25-
C언어 큐 (Queue) - FIFO 자료구조
C언어코딩C언어
2026-03-21-
C언어 static 변수 - 값이 유지되는 변수
C언어코딩C언어
2026-03-21-
C언어 포인터를 이용한 문자열 복사
C언어코딩C언어
2026-07-09-
C언어 문자열 뒤집기 (포인터 활용)
C언어코딩C언어
2026-03-21-
C언어 구조체
C언어코딩C언어
2026-03-20-
C언어 삼항 연산자
C언어코딩C언어
2026-03-21-
C언어 typedef - 자료형에 새 이름 붙이기
C언어코딩C언어
2026-03-21-
전설의 완전수 문제 - C언어
C언어코딩C언어
2025-09-12-
정처기 감자정처기 감자

정보처리기사 합격
도와줄라고 하는 감자

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매
© 2025 재현기획개발. All rights reserved.
  • 정처기 감자의 시작
  • 업데이트 로그
  • 개인정보 처리방침
  • 이용약관
상호명 : 재현기획개발 / 주소: 서울특별시 영등포구 영등포로 150, 지하1층 108호 L145 가라지(당산동1가, 생각공장 당산) / 대표: 김재현 / 전화: 010-8158-7127 / 통신판매업신고: 제2025-서울영등포-1569호 / 이메일: contact@edugamja.com / 사업자등록번호: 573-51-00999