Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Moon_B 게임개발 공부 업적

[C++] 포인터와 참조의 차이 알아보기 본문

카테고리 없음

[C++] 포인터와 참조의 차이 알아보기

Moon_B 2025. 6. 12. 11:25

🟢 참조 (Reference)

“그냥 원본에 또 다른 이름 하나 붙여준 것”

  • 원본 데이터의 별명이에요.
  • 참조 자체가 별도의 메모리 공간을 차지하지 않아요.
  • 그래서 주소도 원본과 완전히 같아요.
  • 사용하기 간단하고 안정적이죠.
int a = 10;  
int& r = a; // r은 a의 또 다른 이름  
r = 20;     // a도 20이 됨

🔵 포인터 (Pointer)

“주소를 저장하는 변수. 원본을 간접적으로 다룸”

  • 원본 데이터의 주소를 값으로 저장하고 있어요.
  • 포인터 자체는 메모리 상에서 별도의 공간을 차지합니다.
  • 원본을 다룰 때는 *p처럼 역참조해야 합니다.
  • 더 유연하지만, 실수할 여지도 많아요 (ex. null pointer, dangling pointer 등)
int a = 10;  
int\* p = &a; // p는 a의 주소를 저장  
\*p = 20;     // a도 20이 됨

🧠 결론적으로

  • 참조는 "같은 사람에게 별명 붙이기"
  • 포인터는 "그 사람의 주소를 쪽지에 적어두고 나중에 찾아가는 느낌"

이 비유를 기억하시면 진짜 안 헷갈릴 거예요 😊