我有一个关于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