-
const, * ..플밍/C++ (overview) 2012. 1. 3. 22:452006/07/26 02:14
const int p = 10;
int const p = 10; (같은 표현)
p = 10;------------------------------------------------------------------------------
=> 컴파일 에러 [p : const int p]
------------------------------------------------------------------------------
const int *p;
int const *p; (같은 표현)
int t=10,y=20;
p = &t;
p = &y; <- p자체에 담긴 내용(주소값)은 변경 가능.*p = 20; <- p에 담긴 내용(주소값)이 가리키고 있는 곳의 값을 변경 불가.
------------------------------------------------------------------------------
=> 컴파일 에러 [p : const int *p]
------------------------------------------------------------------------------
int t=10,y=20;
int *const p = &t;
*p = 20; <- p가 가리키는 곳의 값은 변경 가능.
p = &y; <- p자체에 담긴 내용(주소값)은 변경 불가.
------------------------------------------------------------------------------
=> 컴파일 에러 [p : int *const p]
------------------------------------------------------------------------------
int t=10,y=20;
const int *const p = &t;int const *const p = &t; (같은 표현)
*p = 20; <- p가 가리키는 곳의 값 변경 불가.
p = &y; <- p자체에 담긴 내용(주소값) 변경 불가.------------------------------------------------------------------------------
=> 컴파일 에러 [p : const int *const p]
------------------------------------------------------------------------------
* 포인터 선언이 있을때, 포인터 변수 이름 바로 앞에 const를 써주면,
포인터 변수 자체를 상수화한다.(자체에 담긴 내용(주소값) 변경 불가)
'플밍 > C++ (overview)' 카테고리의 다른 글
동적 메모리 할당(malloc, new) (0) 2012.01.03 레퍼런스(&) , call-by-reference (0) 2012.01.03 namespace, (범위지정연산자) (0) 2012.01.03 매크로, inline (0) 2012.01.03 default 매개 변수 (0) 2012.01.03