앞에서 이어

 

포인터 변수의 경우를 살펴보자

 

(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()을 보자

 

const2-01.png

 

const char *s

 

여기서는 인수 s 가 가리키는 대상은 반드시 문자열 이어만 한다는 것을 의미한다.

 

이 경우도 인수 s의 값은 변경될 수 있다. s 가 다른 문자열을 가리킬 수 있는 것이다.