[英]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.