const를 사용한 포인터
- const 예약어를 포인터에 사용하며 가리키는 변수의 값을 바꿀 수 없다는 의미
/*
* 포인터에 const 사용
*/
#include <stdio.h>
int main(void)
{
int a = 10, b = 20;
const int *pa = &a; // 포인터 pa는 a를 가리킨다.
printf("a : %d\n", *pa); // 포인터를 간접 참조해 a 출력
pa = &b; // 포인터가 변수 b를 가리키게 한다.
printf("b : %d\n", *pa); // 포인터를 간접 참조해 b 출력
pa = &a; // 포인터가 다시 변수 a를 가리킨다.
a = 20; // a를 직접 참조해 값을 바꾼다.
printf("a : %d\n", *pa); // 포인터로 간접 참조해 바뀐 값 출력
return 0;
}
- pa가 가리키는 변수 a는 pa를 간접 참조해 바꿀 수 없다는 것, 16행에서 *pa = 20과 같이 a의 값을 바꾸려고 하면 에러 메시지
'C언어 > Study' 카테고리의 다른 글
[C언어 공부] 주소와 포인터의 크기 (0) | 2024.08.21 |
---|---|
[C언어 공부] 주소와 포인터 차이 (0) | 2024.08.21 |
[C언어 공부] 포인터와 간접 참조 연산자(*) (0) | 2024.08.19 |
[C언어 공부] 주소 연산자(&) (0) | 2024.08.19 |
[C언어 공부] 포인터 (0) | 2024.08.19 |