2013-05-08 47 views
0

我正在學習C.我需要定義一個函數來將類型爲void *的值轉換爲所需的類型。我不確定我是否完全明白我需要做什麼。這是我的嘗試。有人可以看一下,讓我知道它是否正確?如果不是,我該如何解決它?預先感謝您的時間。我該如何輸入cast void *?

void print_type(TYPE a) 
{ 
    void *v_ptr; 
    v_ptr = &a; 

} 
+2

不需要對'C'中的'void *'進行任何轉換。 – VoidPointer 2013-05-08 20:07:26

+0

@VoidPointer nomen est omen。 – 2013-05-08 20:13:26

+0

我也不太清楚你需要做什麼,你能否顯示這個要求?通常如果你想從'void * ptr'轉換爲另一種類型,你只需要寫'(type)ptr'。 – 2013-05-08 20:21:37

回答

5

在C中,void *隱式地與任何數據指針類型兼容。如果你有一個POSIX實現,那麼它也和函數指針兼容。不需要類型轉換;相反,it's even considered harmful

+1

+1。我也在想«無效的價值*到所需的類型»...不知道如果只是一個關於將指針轉換爲'uintptr_t'或類似的問題的壞描述: - > – 2013-05-08 20:15:08

+0

@VladLazarenko謝謝。那麼,如果我很好地理解了這個問題,那麼這就是OP正在尋找的東西...... – 2013-05-08 20:16:00

相關問題