배열의 첨자에 대한 처리는 포인터에 대한 처리로 대치된다.
예를 들어,배열명 array는 배열에 확보된 메모리 공간의 선두 번지를 의미한다.
그래서, array[4] 와 같은 것은 *(array+4)와 완전히 동일하다.
배열의 이름, 즉 메모리 공간의 선두 번지는 포인터와 동일하게 취급해도 되지만, 한 가지 주의점이 있다.
그것은배열의 이름은 포인터가 아니라는 것이다.
포인터는 주소를 저장하는 '변수'이다.
하지만,배열 이름은 주소 그 자체를 가리키는 상수에 불과하다. 그래서 이름에 따로 공간을 할당하지는 않는다.그래서, array를 포인터로 취급해서 그 값을 변경하려고 하면 에러가 발생한다.
'dev, tech > c, c++' 카테고리의 다른 글
<img src="http://blogimgs.naver.com/nblog/ico_scrap01.gif" class="i_scrap" width="50" height="15" alt="본문스크랩" /> 2차원 배열과 포인터 (3) (0) | 2006.04.07 |
---|---|
포인터 #7(배열을 함수의 인자로 넘기는 방법) (0) | 2006.04.06 |
함수에서 인자를 넘기는 방식 (0) | 2006.04.06 |
포인터 #5 (함수포인터) (0) | 2006.04.06 |
포인터 #4 (void 포인터) (0) | 2006.04.06 |
댓글