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* 포인터의 특징 요약
- 원본 변수의 자료형이 지정되지 않음.
- 어떤 타입의 변수 주소든 저장 가능.
- 역참조 불가.
- 주소 연산(포인터 연산) 불가.
출처 : 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 |