Coding/C
const 위치 별 의미
빠리빵
2018. 6. 25. 20:52
int const * p; // 1 int * const p; // 2 int const * const p; // 3 const int * p; // 4
p = (int *)0x1000; // 가 p++; // 나 *p = 100; // 다 a = *p; // 라
const는 위치에 따라서 의미가 헷갈린다.
const는 후식이다. (앞에 있는 애를 상수화)
따라서
1번 - int
2번 - *
3번 - int, *
4번처럼 맨 앞에 붙은 경우 예외적으로 뒤를 상수화시킨다. int
결국
1번 - 값
2번 - 주소
3번 - 주소, 값
4번 - 값
변경이 불가
번호 별 불가능한 것은?
1 - 다 (나 번은 p++은 포인터의 주소 변경이다. 가능함)
2 - 가, 나
3 - 가, 나, 다
4 - 다