[英]Pointer to a Function in a Struct
我有以下结构:
struct A {
struct list * (* get_items) (void);
char * (*build) (void);
}
现在,分配build
的方式(这是指向函数的指针)如下:
struct A someVar = {
.build = someBuildingFunction
};
我不知道有关语法如何build
分配。 为什么以点开头? 而且,如何将get_items
指向struct A someVar
的适当函数? 我尝试了几种方法,但不断出错。
我还注意到somebuildingFunction
末尾缺少分号。 这是为什么?
为什么以点开头?
它称为指定的初始化程序。
我如何将get_items指向struct A someVar中的适当函数?
struct A someVar = {
.build = someBuildingFunction,
.get_items = someGettingFunction
};
您可以省略成员的名称,只是确保按正确的顺序放置函数名称。
我还注意到somebuildingFunction的结尾缺少分号。 这是为什么?
这对于C语言中的初始化程序很常见。例如:
int x[] = {
1 /* No semicolon after 1. */
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.