2016-07-27 150 views
0
struct ArrayQueue *Q = (struct ArrayQueue*)malloc(sizeof(struct ArrayQueue)); 

VS是什麼區別:

struct ArrayQueue *Q = malloc(sizeof(struct ArrayQueue)); 

我何時?他們承擔什麼區別使用什麼有點糊塗了?直覺上,我覺得第一種用法是當我在一個函數中寫作時,第二種用法是當我在一個結構中寫作時。

+0

你是用C寫的嗎? – yellowantphil

+0

是的,我在C寫作。 –

+0

Narsimha Karumanchi在他的書中使用過兩種用法... –

回答

0

默認情況下,函數malloc返回一個void *。雖然你不必顯式地轉換爲你想要的類型(編譯器會這樣做),但有程序員喜歡更清晰。

這取決於你的編碼風格,兩者都可以接受。