포인터 변수의 const는 붙는 위치에 따라 의미가 다르다. 아래 글은 Reference에 쓰여져 있는 포스팅이 정리가 잘 되어 있어서 인용했다. 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는 바로 앞의 키워드에 대해 상수화가 이루어진다고 보면 된다. 단 예외적으로 4번은 앞에 아무 키워드도 없으니 뒤에 있는 키워드에 대해 상수화를 시킨다. 그래서 1 -> 값에 대한 상수화 2 -> 포인터에 대한 상수화 3 -> 값, 포인터 모두에 대한 상수화 4 -> 값에 대한 상수화 그래서..