函数指针数组的指针
下面定义一个简单的函数指针数组的指针:
char* (*(*pf)[3])(char* c);
pf是一个指针,这个指针指向一个有3个元素的数组,每个元素是一个参数为char* ,返回值为char *的指针。
示例:
#include <stdio.h> #include <string.h> char* func1(char* c) { printf("%s\n", c); return c; } char* func2(char* c) { printf("%s\n", c); return c; } char* func3(char* c) { printf("%s\n", c); return c; } int main() { char* (*a[3])(char* c); char* (*(*pf)[3])(char* c); pf = &a; a[0] = func1; a[1] = func2; a[2] = func3; printf("%p\n", a[0]); printf("%p\n", a[1]); printf("%p\n", a[2]); (*pf)[0]("func1"); // *pf[0][0]("func1"); (*pf)[1]("func2"); // *pf[0][1]("func2"); (*pf)[2]("func3"); // *pf[0][2]("func3"); return 0; }
原文地址:https://www.cnblogs.com/lvonve/p/8832626.html
相关推荐
-
进程控制 c/c++
2019-9-17
-
代理模式 c/c++
2019-6-29
-
C++ 手把手教你实现可变长的数组 c/c++
2020-6-15
-
如何评价一段代码 c/c++
2019-3-30
-
算法 & 数据结构——收纳箱算法??? c/c++
2019-6-20
-
浮点数那些事儿 c/c++
2019-3-30
-
全面认识golang string c/c++
2019-5-22
-
插入排序,选择排序 c/c++
2019-9-8
-
线程同步 c/c++
2019-9-17
-
算法学习之数据结构线性表、堆、栈 c/c++
2019-3-30