본문 바로가기
C++/포인터

[C++] 포인터에서 * 연산자의 두 가지 사용법

by bigpicture 2022. 8. 12.
반응형

*연산자는 두가지 경우에 다른 의미로 사용되기 때문에 많은 분들이 헷갈려 합니다. 오늘은 *연산자의 사용방법을 정리해봅시다. 

포인터 변수 p를 하나 정의합시다. 

int a=3;
int* p=&a;


p라는 포인터에는 a의 주소값이 저장됩니다. 위 코드에서 *연산자는 포인터 변수를 선언할 때 사용되었습니다. *p 라는 변수가 선언된 것이 아니라 (int*) 라는 자료형인 p라는 변수가 선언된 것입니다. p는 int형 포인터상수입니다. 상수라는 이름이 붙은 이유는 변형이 불가능하기 때문입니다. 

*는 아래와 같은 상황에서도 사용됩니다. 

*p=5;


*p는 p가 가리키는 주소에 입력된 값을 의미합니다. a에 입력된 값인 5입니다. 

정리해봅시다. *연산자는 두가지 역할로 사용됩니다. 

1) 자료형 뒤에 붙어서 포인터변수 선언에 사용됨 (ex. int* , double*)
2) 이미 선언된 포인터 변수 앞에 붙어서 주소에 입력된 값을 의미함

반응형

댓글