我有一個關於C的問題,希望那些願意分享他們的知識的人會很感激。調用C中的結構成員
在我讀代碼的時候,我被困在一個結構中,它的成員被調用的方式是我以前從未見過的。 代碼基本上是以下:
代碼來調用該結構構件
struct struct_name gzw;
gzw.cb = otherfunct;
其中該結構被定義下面
struct struct_name {
int bela;
unsigned int packet;
int (*cb)(struct struct_name *fd, unsigned int packet2);
};
我有點混亂,因爲我所知,在CB構件應該是一個指針,帶兩個參數不是嗎? howcome struct_name可以調用「cb」,而不是(* cb有2個參數)?
謝謝你的好意響應
+1但我更喜歡寫'國資委* CB(ARG1,ARG2);'寫一個更輕便的代碼。 – Mahesh 2011-05-11 17:29:12
@Mahesh:那更便攜?事實上,我認爲這甚至不是有效的C語法。 – 2011-05-11 17:30:46
順便說一下,我應該寫'(gzw。* cb)(arg1,arg2);'。我在準備這個主題時閱讀了本教程。請告訴我,如果這是過時的信息。 http://www.newty.de/fpt/fpt.html#callconv – Mahesh 2011-05-11 17:41:49