[ void ] : 아무런 타입 없음
[ void 포인터 ] : 원본의 자료형이 정해지지 않은 포인터
- 특징
>> 원본의 자료형이 정해지지 않음
>> 어떠한 타입의 변수 주소를 다 저장할 수 있음
>> 어떠한 타입으로 해석할 지가 정해져 있지 않기에, 역참조 불가능
>> 어떠한 타입으로 주소 연산을 할 지가 정해져 있지 않기에, 주소 연산 불가능
#include <stdio.h>
int main(){
void* pVoid = nullptr;
{
int a = 0;
float b = 0.0f;
double c = 0.;
long long d = 0;
pVoid = &a;
pVoid = &b;
pVoid = &c;
pVoid = &d;
// 가능
// 모든 타입의 변수 주소를 저장할 수 있음
*pVoid;
// 불가능 - error
// 어떤 타입으로 해석할 지가 안 정해져 있음
// 역참조 불가능
pVoid + 1;
// 불가능 - error
// 어떤 타입으로 변수 주소를 연산할 지가 안 정해져 있음
// 주소 연산 불가능
}
return 0;
}
'C++ > 기본 문법' 카테고리의 다른 글
동적할당 && 가변배열 (0) | 2022.07.01 |
---|---|
포인터 && const (0) | 2022.06.30 |
배열 && 구조체 (0) | 2022.06.30 |