<Programming>/<C>
[01] const :: C언어
meow00
2020. 2. 13. 17:20
const는 변수 앞에 붙여 값과 주소를 변경할 수 없도록 해준다.
해당 변수를 상수로 취급한다.
변수의 초기 값을 변경할 수 없는 변수; 상수 or const 상수
int max;
max = 10;
이라는 코드가 있다.
여기에 상수 변수를 선언해보면
const int max;
max = 10; //에러
선언 이외의 값을 지정해주게 되면 오류가 생기게 된다.
const int max = 10;
max = 20; //에러
선언과 동시에 초기화해도 되며
이 이후에도 상수 값을 변경하면 오류가 생기게 된다.
const 포인터 변수
const int* max = &value;
혹은
int* const max = &value;
로 표현할 수 있다.
위의 경우는, 포인터 변수 안의 값을 변경할 수 없고,
아래의 경우는 포인터 변수의 주소값을 변경할 수 없다.
int value = 10;
const int *max;
max = &value;
*max = 20; //에러
int value = 10;
int* const max = &value;
max = &value; //에러
*max = 20;
포인터 변수 안의 값과 주소값을 모두 변경할 수 없도록 하려면
const를 두 번 붙여주면 된다.
const int* const max = &value;
int value = 10;
int* const max = &value;
max = &value; //에러
*max = 20; //에러
반응형