다차원 배열

다차원 배열

2차원 배열은 표처럼 보이지만 메모리에는 정해진 순서로 이어져 저장되므로 행과 열 범위를 함께 봐야 합니다.

선언

행과 열 크기 지정

두 개 이상의 크기를 적어 같은 타입 값의 격자 구조를 만듭니다.

int a[2][3]
초기화

행 단위 값 배치

중괄호를 중첩하면 각 행의 값이 어떻게 채워지는지 읽기 쉽습니다.

{{1,2,3}}
접근

두 인덱스로 요소 선택

첫 인덱스는 행, 두 번째 인덱스는 열을 선택하는 방식으로 읽습니다.

a[r][c]
확장

3차원 이상은 의미 이름 필요

차원이 늘수록 인덱스 의미가 흐려지므로 구조체나 컨테이너가 더 나을 수 있습니다.

a[z][y][x]
반복 구조행 반복문 안에 열 반복문을 넣으면 표의 모든 요소를 순서대로 방문할 수 있습니다.
범위 초과각 차원의 마지막 인덱스는 크기보다 1 작으므로 행과 열 조건을 따로 확인합니다.
메모리 순서C++의 기본 2차원 배열은 행을 기준으로 연속 배치되어 캐시 효율에도 영향을 줍니다.