jli*_*u83 4 c pointers function
int (*rdPtrList[4])(unsigned int addr, unsigned int data);
Run Code Online (Sandbox Code Playgroud)
上面声明了一个返回int的函数指针大小为4的数组,并带有两个unsigned int.我想做一个指向这个数组的指针.这可能在C?
Joh*_*ode 16
省略参数以使以下内容更易于阅读:
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);
Run Code Online (Sandbox Code Playgroud)
因为编译器告诉我_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;
Run Code Online (Sandbox Code Playgroud)