// const 포인터의 의미
#include <stdio.h>
int ex08_05(void)
{
int a = 10, b = 20;
const int *p1 = &a; // p1는 a에 읽기 전용으로 접근한다.
int *const p2 = &a; // p2는 a 전용 포인터이다.
const int * const p3 = &a; // p3는 읽기 전용 + a 전용 포인터
printf("*p1 = %d\\n", *p1);
//*p1 = 100 // *p1은 const 변수로 간주되므로 컴파일 에러
p1 = &b; // p1이 다른 변수를 가리킬 수는 있다. 이제 p1은 b를 가리킨다.
printf("*p1 = %d\\n", *p1);
//p2 = &b
*p2 = 100;
printf("*p2 = %d\\n", *p2);
//*p3 = 100; // 컴파일 에러
//p3 = &b // 컴파일 에러
printf("*p3 = %d\\n", *p3); // p3이 가리키는 변수의 값을 읽어 온다.
return 0;
}