프로그래밍 언어/C

포인터를 대상으로 하는 const선언

야식은진리다 2020. 1. 5. 14:12

const는 Constant를 줄인 말로서 상수라는 의미이다. 즉 변수 선언 앞에 붙여 주면 해당 변수는 상수가되어 값의 변경이 금지 된다. 그런데 포인터 변수에서는 아래의 코드와 같이const를 붙이는 위치에 따라 그 역할이 조금 차이가 있다.

const int* ptr1 = #//ptr1을 이용해 ptr1이 가리키는 변수에 저장된 값을 변경하는 것을 금지한다.
int* const ptr2 = #//ptr2를 상수로 만들어 ptr2의 값을 변경하는 것을 금지한다.

//1번줄과 2번줄을 합친형태도 가능하다.
const int* const ptr3 = #//num에 저장된 값의 변경과 ptr3의 값을 변경하는것을 금지한다.