개발/C++
[C++] const 포인터
램램이
2020. 2. 7. 16:45
const는 상수의 개념으로 생각하면된다. const로 변수를 선언한다면 바꿀 수 없는 값이 된다.
const 자료형 상수명 = 상수값 |
const로 선언된 변수를 변경하려고 한다면 '읽기 전용 변수에 접근' 했다는 에러가 발생한다
포인터와 const
- 포인터 자료형 앞에 const가 붙는 경우 ( const int )

여기서 c는 const int를 가리키므로 가리키는 '값'을 변경하는 건 불가능하다. ( 가리키는 값이 불변 )
- 포인터 자료형 뒤에 const가 붙는 경우 ( const 포인터 )

const 포인터 이므로 가리키는 '대상'을 바꿀 수없다. (변수 자체가 불변) 따라서 값은 변경하지만 가리키는 대상(위치)는 변경 할 수 없다.
- cf) const 포인터는 선언과 동시에 초기화 해줘야 한다.

- 포인터 자료형 앞뒤에 const가 붙는경우

위에서 봤던 두가지 경우를 모두합친 경우에는 값 변경과 가리키는 대상 둘 다 변경 할 수 없다.