C/개념, 이해
const 포인터 C언어
starfish22
2021. 11. 18. 17:13
728x90
▶const : 상수 선언
▶사용 예시
(1) const int *p; 가리키는 값 고정
#include <stdio.h>
int main()
{
int a = 10, b = 20;
const int *p = &a;
//포인터 p가 가리키는 값(a) 고정
*p = 20; //(X)
//a값을 바꾸려하기 때문에 안됨
p = &b; //(O)
//p의 주소만 바뀌어 가능
return 0;
}
(2) int *const p; 가리키는 주소 고정
#include <stdio.h>
int main()
{
int a = 10, b = 20;
int *const p = &a;
//포인터 p가 가리키는 주소(&a) 고정
*p = 20; //(O)
//a값이 바뀌어 가능
p = &b; //(X)
//p의 주소값을 바꾸려하기 때문에 안됨
return 0;
}
(3) const int *const p; 가리키는 값 , 주소 고정
#include <stdio.h>
int main()
{
int a = 10, b = 20;
const int *const p = &a;
//포인터 p가 가리키는 주소(&a)와 가리키는 값(a) 고정
*p = 20; //(X)
//a값이 바뀌어 안됨
p = &b; //(X)
//p의 주소값이 바뀌어 안됨
return 0;
}
▶사용하는 이유
프로젝트를 만드는 협업을 할 때 함수의 인자로 const 포인터를 사용하여 상대방에게 손대지 말라는 표시 가능
728x90