簡體   English   中英

指向結構中函數的指針

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM