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
'C > 개념, 이해' 카테고리의 다른 글
함수 포인터 C언어 (0) | 2021.11.21 |
---|---|
char , wchar_t C언어 (0) | 2021.11.19 |
volatile 변수 C언어 (0) | 2021.11.18 |
비트연산자와 사용예시 C언어 (0) | 2021.11.18 |
댓글