산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C++ 다차원 배열 마스터하기: 선언, 초기화, 순회

C++ 다차원 배열

2차원, 3차원 배열의 선언, 초기화, 순회 방법을 실전 코드 샘플과 모범 사례와 함께 안내합니다.

C++에서 다차원 배열은 단순히 **배열의 배열**입니다. 예:

int x[3][4];

x는 12개 요소를 담는 2차원 배열입니다. 3행 4열 표로 시각화할 수 있습니다.

C++ 다차원 배열 마스터하기: 선언, 초기화, 순회

3차원 배열도 같은 논리:

float x[2][4][3];

총 24개 요소(2 × 4 × 3 = 24).


다차원 배열 초기화

1차원 배열처럼 여러 방식으로 초기화 가능하지만 가독성이 중요합니다. 권장 방식을 소개합니다.

1. 2차원 배열 초기화

int test[2][3] = {2, 4, 5, 9, 0, 19};

문법상 맞지만 가독성 나쁨. 중첩 초기화자 권장:

int test[2][3] = {{2, 4, 5}, {9, 0, 19}};

2행 3열이 명시적.

C++ 다차원 배열 마스터하기: 선언, 초기화, 순회

2. 3차원 배열 초기화

int test[2][3][4] = {3, 4, 2, 3, 0, -3, 9, 11, 23, 12, 23, 2, 13, 4, 56, 3, 5, 9, 3, 5, 5, 1, 4, 9};

가독성 매우 나쁨. 차원별 그룹화 권장:

int test[2][3][4] = {
    {{3, 4, 2, 3}, {0, -3, 9, 11}, {23, 12, 23, 2}},
    {{13, 4, 56, 3}, {5, 9, 3, 5}, {5, 1, 4, 9}}
};

첫 번째 차원이 두 개의 3행 블록을 포함, 각각 4열.


예제 1: 2차원 배열

#include <iostream>
using namespace std;
int main() {
    int test[3][2] = {{2, -5}, {4, 0}, {9, 1}};
    for (int i = 0; i < 3; ++i) {
        for (int j = 0; j < 2; ++j) {
            cout << "test[" << i << "][" << j << "] = " << test[i][j] << endl;
        }
    }
    return 0;
}

실행 결과

test[0][0] = 2
test[0][1] = -5
test[1][0] = 4
test[1][1] = 0
test[2][0] = 9
test[2][1] = 1

중첩 for 루프로 행→열 순회하며 각 요소 출력.


예제 2: 2차원 배열 사용자 입력 받기

#include <iostream>
using namespace std;
int main() {
    int numbers[2][3];
    cout << "Enter 6 numbers: " << endl;
    for (int i = 0; i < 2; ++i) {
        for (int j = 0; j < 3; ++j) {
            cin >> numbers[i][j];
        }
    }
    cout << "The numbers are: " << endl;
    for (int i = 0; i < 2; ++i) {
        for (int j = 0; j < 3; ++j) {
            cout << "numbers[" << i << "][" << j << "]: " << numbers[i][j] << endl;
        }
    }
    return 0;
}

실행 결과

Enter 6 numbers: 1 2 3 4 5 6
The numbers are:
numbers[0][0]: 1
numbers[0][1]: 2
numbers[0][2]: 3
numbers[1][0]: 4
numbers[1][1]: 5
numbers[1][2]: 6

두 중첩 루프로 입력 수집 후 저장값 출력.


예제 3: 3차원 배열

#include <iostream>
using namespace std;
int main() {
    int test[2][3][2] = {
        {{1, 2}, {3, 4}, {5, 6}},
        {{7, 8}, {9, 10}, {11, 12}}
    };
    for (int i = 0; i < 2; ++i) {
        for (int j = 0; j < 3; ++j) {
            for (int k = 0; k < 2; ++k) {
                cout << "test[" << i << "][" << j << "][" << k << "] = " << test[i][j][k] << endl;
            }
        }
    }
    return 0;
}

실행 결과

test[0][0][0] = 1
test[0][0][1] = 2
test[0][1][0] = 3
test[0][1][1] = 4
test[0][2][0] = 5
test[0][2][1] = 6
test[1][0][0] = 7
test[1][0][1] = 8
test[1][1][0] = 9
test[1][1][1] = 10
test[1][2][0] = 11
test[1][2][1] = 12

3차원 배열 순회엔 세 중첩 루프 필요—각 차원마다 하나. 이 패턴은 고차원으로 자연 확장되나 복잡도 급증.

C 언어

  1. C# 배열 마스터하기: 선언, 초기화, 조작과 LINQ 연산
  2. C# 다차원 배열: 2차원 배열 문법과 코드 예제로 완벽 이해
  3. C# 가변 배열(Jagged Array): 선언, 초기화, 접근 완전 가이드
  4. C++ 연산자 마스터하기: 유형별 완벽 가이드와 실전 예제
  5. C++ 주석: 가독성 높고 유지보수하기 좋은 코드 작성법
  6. C++ 배열을 함수에 전달하는 방법: 실전 가이드
  7. Java 배열 복사 기법: 대입, 루프, System.arraycopy, Arrays.copyOfRange 총정리
  8. C++ 배열 완전 정복: 선언, 초기화, 포인터 기법
  9. C++ 동적 배열 할당 완벽 가이드: new, delete, 실전 코드 예제
  10. MATLAB: 다차원 배열과 특수 배열 마스터하기