2011. 2. 26. 20:23
1) 포인터가 가리키는 변수의 상수화

  int a = 10;
  const int*p = &a;
  *p = 30; //error!!
  a = 30; //ok
포인터 p가 가리키는 변수를 상수화 하겠다는 뜻. 즉 포인터 p가 가리키는 변수의 값을 못 바꾸게 하겠다는 뜻이다.
포인터 p를 통해서 변수 a의 값을 변경하는 것만 막는 것.


2)포인터 상수화
  int a = 10;
  int b = 20;
  int* const p = &a;
  p = &b; //error
  *p = 30; //ok
포인터 자체가 상수화 된것. 즉 포인터 p가 지니는 주소값을 변경할 수 없다는 뜻이다.


3)포인터 상수화 + 포인터가 가리키는 데이터도 상수화
  int a = 10;
  int b = 20;
   const int* const p = &a;
  p = &b; //error
  *p = 30; //error
Posted by Triany