Computer Language/C

const *(포인터) 사용법

Ohjeonghak 2015. 5. 8. 14:42
반응형

간단하게 예문으로 설명하도록 하겠다.

 

int a = 12345;
int* const val1 = &a;       // 포인터를 상수화. a값 변경 O  , 주소 변경 X  
const int* val2 = &a;       // 값을 상수화.     a값 변경 X, 주소 변경 O 
int const* val3 = &a;       // 값을 상수화.     a값 변경 X, 주소 변경 O  
const int* const val4 = &a; // 전부 상수화.      
int const* const val5 = &a; // 전부 상수화.  
/*결론 
 * 포인터 (*)를 기준으로 const가 
 * 포인터 (*) 왼쪽에 붙으면 가리키는 포인터의 값 변경이 불가능 하지만 가리키는 포인터 주소는 변경 가능. 
 * 포인터 (*) 오른쪽에 붙으면 가리키는 포인터의 값 변경이 가능하지만 가리키는 포인터 주소는 변경 불가능 하다. 
 * 
 * 만약 포인터 (*)를 기준으로  
 * 왼쪽, 오른쪽 모두 붙어있다면 가리키는 포인터의 값, 주소 모두 변경이 불가능 하다. */
반응형