我想了解別人編寫的C代碼,並且遇到了一段代碼,我不明白所有的語法和部分我不明白我不知道如何搜索。我希望得到解釋或關於如何搜索我可能會遇到的其他類似事情的信息,或者兩者兼而有之。有問題的代碼是下面的行:不熟悉的C語法?
int r = uv_listen((uv_stream_t*) &server, 128, on_new_connection);
據我所知,r是正被聲明和初始化爲「uv_listen()」由該函數返回值的變量,128是文字INT paramater,on_new_connection必須是函數指針,因爲這是所調用的回調函數的名稱。服務器是一個自定義類型的變量(uv_tcp_t),它與&指的是服務器的地址。我不明白的是「(uv_stream_t *)&服務器」。看起來這是該函數的參數之一。我可以理解一個函數調用,它返回一個值作爲參數,但這看起來不像函數調用。 「uv_stream_t」是在他們的代碼中定義的另一個自定義類型。
我不知道它是否有助於理解它的含義,但代碼行來自示例代碼,以幫助理解如何使用libuv。