
[C] 2차원 배열 + 이중포인터
·
C/문법
# 2차원 배열 + 이중포인터 C기초에서 포인터와 배열에 대해서 공부했다. 포인터와 배열이 연관성이 있는 것처럼 2차원 배열과 이중포인터도 밀접하게 연관되어 있다. 하지만, 1차원 배열을 포인터에 할당하는 방식과 2차원 배열을 이중포인터에 할당하는 방식은 조금 다르다. 예시) int arr[2][2] = { {1,2}, {3,4} }; int (*ptr)[2] = arr; --> 2차원 배열의 경우, 위와 같이 '가로 크기'를 지정한 포인터에만 할당이 가능하다. 하지만, 포인터 연산은 똑같다. 즉, arr[1][1]과 *(*(ptr+1)+1)은 같은 값이다. (*ptr)[2]의 값은 arr[0][1]과 같다. 따라서, *(*(ptr+1)+1)에서는 *(ptr+1) = arr[1][0]상태이고, 거기에 +..