더북(TheBook)

이는 두 번째 배열의 첫 번째 요소의 바로 오른쪽 옆에 있는 주소를 의미합니다. 즉, a[1]116이라면 a[1] + 1은 주소 120이라고 할 수 있습니다. 배열의 자료형이 int이므로 각 메모리 주소는 4바이트 크기이고, + 1은 주소가 4바이트 증가된다는 의미이지요.

그림 9-11 | 2차원 배열의 주소 연산

 

a + 1은 2차원 배열의 관점에서 구성된 두 번째 배열의 첫 번째 주소를 의미합니다. 또한, 이 주소는 a[1]이라고 표기할 수 있으므로, a[1] + 1은 그 두 번째 배열의 첫 번째 요소 바로 한 칸 옆의 주소를 의미합니다.

2차원 배열의 주소 연산은 C 언어의 포인터를 배우면서 많은 사람들이 어려워하는 부분입니다. 그러나 다음 예제를 통해 주소 값이 어떻게 나타나고, 어떻게 표기되는지를 확실하게 익혀둔다면 포인터에 쉽게 접근할 수 있을 것입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.