본문 바로가기

스터디

*

반응형

역참조 연산자 (*)

*아스테리스크(asterisk)라고 읽는다. C/C++에서 이 기호는 문맥에 따라 세 가지 역할을 한다.


* 의 세 가지 역할

  1. 곱하기 (연산자) — 산술 곱셈. 예: a * b
  2. 포인터 선언 — 주소를 저장하는 변수 선언. 예: int *p;
  3. 역참조(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