본문 바로가기
dev, tech/c, c++

포인터 #6 (배열의 첨자)

by 구띵 2006. 4. 6.

배열의 첨자에 대한 처리는 포인터에 대한 처리로 대치된다.

 

예를 들어,배열명 array는 배열에 확보된 메모리 공간의 선두 번지를 의미한다.

 

그래서, array[4] 와 같은 것은 *(array+4)와 완전히 동일하다.

 

배열의 이름, 즉 메모리 공간의 선두 번지는 포인터와 동일하게 취급해도 되지만, 한 가지 주의점이 있다.

 

그것은배열의 이름은 포인터가 아니라는 것이다.

 

포인터는 주소를 저장하는 '변수'이다.

 

하지만,배열 이름은 주소 그 자체를 가리키는 상수에 불과하다. 그래서 이름에 따로 공간을 할당하지는 않는다.그래서, array를 포인터로 취급해서 그 값을 변경하려고 하면 에러가 발생한다.

 

 

댓글