Const는 변수 선언시 자료형 앞뒤에 사용되는 변수를 상수로 선언한다.
즉 Const로 선언된 변수는 수정할 수 없다.
포인터와 const 키워드
#include<stdio.h> void main() { int a = 10; int b = 20; const int *pa = &a; //*pa = 20; //값을 변경할 수 없다. (Error) pa = &b; //주소 변경 가능 int const *pb = &b; pb = &a; int* const p = &a; *p = 30; }위에서 보면 const int *pa와 int const *pb은 같은 내용이다.
즉 *pb 값 포인터에 의해서 읽혀지는 값을 변경할 수 없다.
그러나 주소 변경은 가능하다.
const int *pa = int const *pa = const int* pa
다 같은 표현인 것이다.
int* const p 는 다르다. 값의 변경은 가능하지만 포인터값의 p의 주소값을 수정할 수 없다.