C문법에서 const
키워드가 포인터에대해 사용될때 키워드의 위치에따라 의미가 매우 달라진다. 상수포인터와, 상수를 가리키는 포인터 변수 두가지가있으니 주의해서 사용해야한다.
상수 포인터(constant pointer)
문법: int * const myValue;
포인터 변수가 갖고있는 주소 값을 변경 불가능
포인터 변수가 가리키는 주소에 존재하는 값을 변경하는 것은 가능
Objective-C에서 키값을 정의하는데 많이 사용되는 패턴이다.
예): NSString *const kCustomKey = @“myKey”;
상수를 가리키는 포인터(pointer to constant)
문법:
const int * myValue;
포인터 변수가 갖고있는 값은 마음대로 변경 가능
포인터 변수는 가리키고 있는 주소에 존재하는 값을 변경하는것이 불가능하다.