void* 到底是什么初学者不是很清楚

void* 到底是什么菜鸟不是很清楚!
空指针是啥子东西。指向的是无类型的东西,这是啥子东西额?

------解决方案--------------------
void*不是空指针,它指向的也不是无类型,这是对void和void*的误解。

void本身就是一种类型,它属于不完整类型。void的意义是空对象,等价的说法是无对象。一个指向void的指针并不是空指针,空指针指的是没有引用的指针(这里说的引用不是指C++中的引用类型,而是对实体的引用,void也是实体),但void*是有引用的,只不过引用的是空对象。

什么是空指针呢?指针值为NULL的指针才是空指针,这个指针值叫空指针常量,它表示这个指针不引用任何实体,包括void。
------解决方案--------------------
void* 就是无类型指针,可以指向任何类型的数据
------解决方案--------------------
int *p;
char *q;

sizeof(p)
sizeof(q)
指针类型都是一个4字节的地址

q = (char*)p;
所以指针间可以相互转换

*(int*)p
只不过当你把它当做int型指针看待时, 那么取这个指针指向的值就是按int型取

*(char*)p
当你把它当做char型指针看待时, 那么取这个指针指向的值就是按char型取