본문 바로가기
C++/유튜브 어소트락 게임아카데미 C++무료강의

11. void 포인터 (void*)

by GREEN나무 2025. 4. 19.
728x90

void란?

  • void는 반환값이 없는 함수의 반환 타입을 나타낼 때 사용된다.

void*란?

  • void*는 자료형이 지정되지 않은 포인터를 의미한다.
  • 어떤 변수의 주소든 저장할 수 있지만, 역참조가 불가능하다.
  • 또한, 포인터 연산(예: +1)도 할 수 없다, 왜냐하면 해당 포인터가 가리키는 데이터의 크기를 알 수 없기 때문이다.
void* pVoid = nullptr;

int a = 0;
float f = 0.f;
double d = 0.;
long long ll = 0;

pVoid = &a;
pVoid = &f;
pVoid = &d;
pVoid = ≪

// *pVoid;       // ❌ 역참조 불가
// pVoid + 1;    // ❌ 포인터 연산 불가

일반 포인터와 비교

  • 일반적인 포인터는 자료형* 형태로 선언되며, 역참조 시 어떤 타입으로 데이터를 읽을지를 명확히 지정해준다.
  • 예를 들어 int*는 int 단위로 역참조 및 포인터 연산이 가능하다.

void* 포인터의 특징 요약

  1. 원본 변수의 자료형이 지정되지 않음.
  2. 어떤 타입의 변수 주소든 저장 가능.
  3. 역참조 불가.
  4. 주소 연산(포인터 연산) 불가.

출처 : https://www.youtube.com/watch?v=s3sfHXWAKoo&list=PL4SIC1d_ab-aOxWPucn31NHkQvNPHK1D1&index=35

'C++ > 유튜브 어소트락 게임아카데미 C++무료강의' 카테고리의 다른 글

12. 문자  (0) 2025.04.28
10. 포인터와 const  (0) 2025.04.19
9. 포인터 변수 문제 풀이  (0) 2025.04.15
8. 포인터  (0) 2025.04.15
7. 지역변수, 전역변수  (0) 2025.04.02