2차원 배열 포인터는 한 칸 이동의 단위가 행이다
matrix가 포인터처럼 보이더라도 타입은 “int 3개짜리 행을 가리키는 포인터”에 가깝습니다. 그래서 matrix + 1은 다음 int가 아니라 다음 행으로 이동합니다.
matrix[0]
1
2
3
matrix[1]
4
5
6
int (*)[3]matrix의 포인터 타입행 하나를 단위로 이동합니다.int*matrix[0]의 타입행 안에서는 int 요소 단위로 이동합니다.표현
읽는 타입
한 칸 이동
matrix[0] + 1
int*
같은 행의 다음 열로 이동합니다.
matrix + 1
int (*)[3]
다음 행의 시작으로 이동합니다.
matrix[r][c]
int
r번째 행을 고른 뒤 c번째 요소를 읽습니다.
다차원 배열에서는 포인터가 가리키는 대상 타입이 이동 폭을 결정합니다. 열 개수는 타입 안에 남아 있어야 합니다.