我正在學習C.我需要定義一個函數來將類型爲void *
的值轉換爲所需的類型。我不確定我是否完全明白我需要做什麼。這是我的嘗試。有人可以看一下,讓我知道它是否正確?如果不是,我該如何解決它?預先感謝您的時間。我該如何輸入cast void *?
void print_type(TYPE a)
{
void *v_ptr;
v_ptr = &a;
}
我正在學習C.我需要定義一個函數來將類型爲void *
的值轉換爲所需的類型。我不確定我是否完全明白我需要做什麼。這是我的嘗試。有人可以看一下,讓我知道它是否正確?如果不是,我該如何解決它?預先感謝您的時間。我該如何輸入cast void *?
void print_type(TYPE a)
{
void *v_ptr;
v_ptr = &a;
}
在C中,void *
隱式地與任何數據指針類型兼容。如果你有一個POSIX實現,那麼它也和函數指針兼容。不需要類型轉換;相反,it's even considered harmful。
+1。我也在想«無效的價值*到所需的類型»...不知道如果只是一個關於將指針轉換爲'uintptr_t'或類似的問題的壞描述: - > – 2013-05-08 20:15:08
@VladLazarenko謝謝。那麼,如果我很好地理解了這個問題,那麼這就是OP正在尋找的東西...... – 2013-05-08 20:16:00
不需要對'C'中的'void *'進行任何轉換。 – VoidPointer 2013-05-08 20:07:26
@VoidPointer nomen est omen。 – 2013-05-08 20:13:26
我也不太清楚你需要做什麼,你能否顯示這個要求?通常如果你想從'void * ptr'轉換爲另一種類型,你只需要寫'(type)ptr'。 – 2013-05-08 20:21:37