강좌 & 팁
글 수 2,412
2013.11.21 20:00:52 (*.52.177.249)
39138
앞에서 이어
포인터 변수의 경우를 살펴보자
(1) const int *pi
이 경우에 const는 바로 다음의 int를 제한하기 때문에 pi의 값은 변할 수 있지만 항상 정수형 상수를 가리켜야 한다.
(2) int *const pi
이 경우 const는 바로 다음의 ip를 제한하기 때문에 pi의 값은 변할 수 없기 때문에 항상 같은 번지를 가리키게 된다.
(3) const int * const pi
int와 pi가 모두 const에 의해서 제한되기 때문에 pi는 항상 같은 번지를 가리키고, 그번지에 저장된 값도 수정될 수 없다.
함수의 인수에 const가 명시되는 문자열 함수 strlen()을 보자
const char *s
여기서는 인수 s 가 가리키는 대상은 반드시 문자열 이어만 한다는 것을 의미한다.
이 경우도 인수 s의 값은 변경될 수 있다. s 가 다른 문자열을 가리킬 수 있는 것이다.