반응형
역참조 연산자 (*)
*는 아스테리스크(asterisk)라고 읽는다. C/C++에서 이 기호는 문맥에 따라 세 가지 역할을 한다.
* 의 세 가지 역할
- 곱하기 (연산자) — 산술 곱셈. 예:
a * b - 포인터 선언 — 주소를 저장하는 변수 선언. 예:
int *p; - 역참조(Dereference) 연산자 — 포인터가 가리키는 주소에서 값을 꺼낸다. 예:
*p
역참조 연산자란?
역참조 연산자는 포인터를 기반으로, 그 포인터가 가리키는 곳의 실제 값을 꺼내는 역할을 한다.
#include <iostream>
using namespace std;
int main()
{
int a = 10;
int *p = &a; // p는 a의 주소를 가리킨다 (선언 시 *)
cout << p << "\n"; // a의 주소 출력
cout << *p << "\n"; // 역참조 → a의 값(10) 출력
*p = 20; // 역참조로 a의 값 자체를 변경
cout << a << "\n"; // 20 출력
return 0;
}
핵심 정리
&a: 변수 a의 주소를 얻는다 (주소 연산자)*p: 포인터 p가 가리키는 주소의 값을 얻는다 (역참조 연산자)- 선언할 때의
*와 사용할 때의*는 역할이 다르다는 점에 주의
'스터디' 카테고리의 다른 글
| 코딩테스트-중복제거 (0) | 2026.07.05 |
|---|---|
| 메모리와 포인터 (0) | 2026.07.04 |
| 코딩테스트-조합 (0) | 2026.07.02 |
| 코딩테스트-시간복잡도 (0) | 2026.07.01 |
| 코딩테스트-순열 (0) | 2026.07.01 |