我試圖弄清楚構成hostent對象的一段代碼,更具體地說,它構成了h_addr_list數組的一部分工作。爲什麼h_addr_list(在hostent結構中)鍵入爲char **而不是void *?
我感到困惑的是,被分配到數組中的值被轉換爲char*
,看到這個數組與字符串無關,據我所知。我注意到h_addr_list
數組實際上輸入爲char**
。
我看到的唯一注意到這個事實的地方是section 9.7 in beej's Guide to Network Programming,但即使在那裏,也沒有解釋爲什麼要輸入它。
是否有一個原因,h_addr_list
的類型爲char**
而不是void*
/void**
(或其他任何可能有點更多的信息)?
原生K&R C根本不支持'void'類型。 – alk
好吧,我想我應該爲自己找不到那個而感到有點慚愧。謝謝! – Neowizard
我已經更新了相應的答案。 – user4815162342