반응형
간단하게 예문으로 설명하도록 하겠다.
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가
* 포인터 (*) 왼쪽에 붙으면 가리키는 포인터의 값 변경이 불가능 하지만 가리키는 포인터 주소는 변경 가능.
* 포인터 (*) 오른쪽에 붙으면 가리키는 포인터의 값 변경이 가능하지만 가리키는 포인터 주소는 변경 불가능 하다.
*
* 만약 포인터 (*)를 기준으로
* 왼쪽, 오른쪽 모두 붙어있다면 가리키는 포인터의 값, 주소 모두 변경이 불가능 하다. */
반응형
'Computer Language > C' 카테고리의 다른 글
alloc의 3가지 종류와 2차원 배열 동적할당 (0) | 2013.12.27 |
---|---|
[더블포인터, main 명령행 인자] 포인터의 포인터 그리고 main()의 명령행 인자. (0) | 2013.12.21 |
배열과 포인터배열의 관계 (0) | 2013.12.19 |
포인터의 기초 (0) | 2013.10.23 |