반응형
*연산자는 두가지 경우에 다른 의미로 사용되기 때문에 많은 분들이 헷갈려 합니다. 오늘은 *연산자의 사용방법을 정리해봅시다.
포인터 변수 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) 이미 선언된 포인터 변수 앞에 붙어서 주소에 입력된 값을 의미함
반응형
'C++ > 포인터' 카테고리의 다른 글
[C++] 포인터 변수와 const (0) | 2022.08.17 |
---|---|
[C++] 배열의 원소를 포인터로 접근하기 ar[i]=*(ar+i) (0) | 2022.08.12 |
[C++] 포인터에서 덧셈 뺄셈 연산 (0) | 2022.08.11 |
[C++] 변수의 주소는 몇 진수일까 (0) | 2022.08.11 |
[C++] 포인터에서 p와 *p의 차이 (0) | 2022.08.11 |
댓글