프로그래밍/C, C++
포인터 대상의 const 선언
유니디니
2020. 12. 12. 00:18
728x90
반응형
포인터 변수가 참조하는 대상의 변경을 허용하지 않는 Const 선언하기🙃
#include <stdio.h>
int main(void){
int n = 30;
const int *nptr = &n;
*nptr = 1000;
printf("에러코드입니다. %d", *nptr);
return 0;
}
결과는 에러이다. const 선언 포인터 변수는 "포인터 변수 nptr을 사용하여 저장된 값을 변경하는 것이 불가능하다." 그러나, 변수 값을 직접 변경하는 것은 허용된다.
즉, n의 값을 n = 9000으로 변경할 수 있다는 뜻이다.
또한, const 선언 변수는 변경시 오류가 발생한다.
#include <stdio.h>
int main(void){
const double ratio = 55.33468;
ratio = 2222.5567;
printf("에러코드입니다. %f", ratio);
return 0;
}
ratio와 같은 중요한 변수를 보호할 때 사용할 수 있으며, 실행파일이 생성되기 전에 막을 수 있다는 장점이 있다.
*const 선언의 의미 : 변수들에 대한 안정성을 높이며, 컴파일러가 발견하지 못하는 문제점을 막을 수 있다.
반응형