const 라는 키워드에 대해 한번 보자.
본인은 대부분 const int i 만 쓰는데 다른사람이 쓴 소스를 보기위해선 필히 알아야 하므로 정리를 다시 한다.
const 는 의도 하지 않는 동작을 막아주는데 좋은 키워드 이다.
C++ 에서는 또 다른 의미로 쓰이지만 내가 아는 지식이 짧아서 일단 C 에서의 의미를 정리한다.
const 는 선언할때 상수로 쓴다는 키워드 인데, 어디에 위치해 있느냐에 따라 의미가 다르다.
간단한 예로
여기서 i 는 상수 1로 쓰이고 변경이 불가능 하다.
const 각각의 위치마다 의미가 다르다. 아래를 보면...
const int * i ; 는 포인터가 가르키는 i 의 값의 상수화
int * const i ; 는 포인터를 상수화 ( 메모리 주소 변경이 불가 )
const int * const i ; 는 둘다.
예)
첫번째에서 왜 에러인지 생각해보자.
그냥 간단하게 생각하자. 어렵게 생각하면 끝도 없다.