void 通常表示无值。
将void作为指针的类型时,它表示不确定的类型。
这种 void 型指针是一种通用型指针,也就是说任何类型的指针值都可以赋给void类型的指针变量。
void pa; //错误,不能声明void 类型的指针变量
void* pc; //正确,可以声明void类型的指针
int i=456;
char c=‘a’;
pc=&i;
pc=&c;
void型指针可以接受任何类型的指针的赋值,但对已获值的void型指针,对它在进行处理(如输出或传递指针值)时,则必须进行强制类型转换,否则会出错。
#include <iostream>
using namespace std;
int main()
{
void* pc;
int i = 456;
char c = 'a';
pc = &i;
cout << *(int*)pc << endl; // 456
pc = &c;
cout << *(char*)pc << endl; // a
return 0;
}