C 我如何知道当前持有void指针的类型(int、double、float等)?

C 我如何知道当前持有void指针的类型(int、double、float等)?,c,pointers,C,Pointers,我怎么知道是哪种类型的int、double、float等。。当前是否持有空指针? 假设 void*p int x=10 p=&x printf%s,类型为\u void\u pointerp 双d=1.5 p=&d printf%s,类型为\u void\u pointerp 第一个printf应该打印int,而第二个应该打印double 是否有任何方法可以写入\u void指针函数的类型\u 无论如何,您都无法从中的内容中知道类型。从虚空本身来看,这是不可能知道的。都是地址。即使你查看内容,也

我怎么知道是哪种类型的int、double、float等。。当前是否持有空指针? 假设

void*p

int x=10

p=&x

printf%s,类型为\u void\u pointerp

双d=1.5

p=&d

printf%s,类型为\u void\u pointerp

第一个printf应该打印int,而第二个应该打印double 是否有任何方法可以写入\u void指针函数的类型\u

无论如何,您都无法从中的内容中知道类型。从虚空本身来看,这是不可能知道的。都是地址。即使你查看内容,也不可能知道它的类型

你只知道这里的地址,就这样。您甚至可以将其转换为不同的类型,并以不同的方式进行解释