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 선언의 의미 : 변수들에 대한 안정성을 높이며, 컴파일러가 발견하지 못하는 문제점을 막을 수 있다.
반응형
'프로그래밍 > C, C++' 카테고리의 다른 글
전역변수와 지역변수에 static 활용하기 (0) | 2020.12.13 |
---|---|
Call by value vs Call by reference (0) | 2020.12.12 |
c언어 기본 자료형의 종류와 데이터의 표현 범위 (0) | 2020.12.11 |