簡體   English   中英

指向函數指針數組的指針

[英]Pointer to an array of function pointers

int (*rdPtrList[4])(unsigned int addr, unsigned int data);

上面聲明了一個返回int的函數指針大小為4的數組,並帶有兩個unsigned int。 我想做一個指向這個數組的指針。 這可能在C?

省略參數以使以下內容更易於閱讀:

p         -- p
       *p         -- is a pointer
      (*p)[4]     -- to a 4-element array
     *(*p)[4]     -- of pointers
    (*(*p)[4])()  -- to functions 
int (*(*p)[4])(); -- returning int.

啊,棘手棘手!

覺得這很有效

int (*(*rdPtrList)[4])(unsigned int addr, unsigned int data);

因為編譯器告訴我_countof(*rdPtrList)是4。


(我希望你可以說int function(unsigned int addr, unsigned int data)[4]*就像你可以在D中一樣,它更具可讀性:它將是一個“函數數組指針”。)

嘗試這個:

typedef int(*rdPtrList_t[4])(unsigned int addr, unsigned int data);
rdPtrList_t *ptrToArray;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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