더북(TheBook)

실행결과 icon_con

배열 arr[0]의 값 : 5
배열 arr[1]의 값 : 10
배열 arr[2]의 값 : 15
포인터 변수 ptr[0]의 값 : 5
포인터 변수 ptr[1]의 값 : 10
포인터 변수 ptr[2]의 값 : 15
배열 arr[0]의 값 : 100
배열 arr[1]의 값 : 200
배열 arr[2]의 값 : 300
포인터 변수 ptr[0]의 값 : 100
포인터 변수 ptr[1]의 값 : 200
포인터 변수 ptr[2]의 값 : 300
포인터 변수의 값을 바꾸면 포인터 변수가 가리키는 배열의 값도 바뀜

포인터 변수의 값을 바꾸기 전에는 배열의 초깃값 그대로 5, 10, 15가 출력됩니다. 그런데 값을 새로 넣은 후에는 포인터 변수의 값도 바뀌고 배열의 값도 바뀌었습니다. 즉, 포인터 변수가 직접 배열의 각 요소에 접근해서 값을 바꿉니다. 따라서 배열의 이름인 arr과 포인터 변수인 ptr은 같은 역할을 한다고 볼 수 있습니다. 단, ptr은 필요하다면 arr과 같은 배열을 값으로 넣을 수 있지만, 반대로는 불가능합니다.

int * ptr = arr; (ㅇ)
int arr[3] = ptr; (×)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.