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