这个问题在这里已有答案:
我怎么知道哪个类型(int,double,float等...)当前持有void指针?假设
void * p;
int x = 10;
P =&X;
的printf( “%S”,type_of_void_pointer(P));
双d = 1.5;
P =&d;
的printf( “%S”,type_of_void_pointer(P));
第一个printf应该打印“int”而第二个应该打印“double”有没有办法写出type_of_void指针函数?
1 回答
无论如何你无法从内容中知道
type
. 从void*
本身来看,我们无法知道这一点 . 这是所有地址 . 即使您查看内容,也无法知道它的类型 .你所知道的就是地址,就是这样 . 您甚至可以将其转换为不同的类型并以不同的方式解释它 .