2017-11-18 77 views
0

我怎麼知道哪個類型(int,double,float等)當前持有void指針? 假設我怎麼知道哪些類型(int,double,float等)當前持有void指針?

void * p;

int x = 10;

p =&x; printf(「%s」,type_of_void_pointer(p));

double d = 1.5;

p =&d; printf(「%s」,type_of_void_pointer(p));

第一個printf應該打印「int」,而第二個應該打印「double」 有什麼方法可以寫入type_of_void指針函數嗎?

回答

1

無論如何,您無法從內容中知道type。從void*本身不可能知道這一點。這是所有的地址。即使你查看內容,也不可能知道它的類型。

這裏所有你知道的就是地址,就是這樣。你甚至可以將它轉換爲不同的類型並以不同的方式解釋它。

相關問題