函数指针数组
引用博文;
(博客园)[https://www.cnblogs.com/tp-16b/p/7860491.html]
对于在xv6中看到的一个映射表关系
关于: 函数指针数组
1 | static uint64 (*syscalls[])(void) = { |
数组和指针是没关系的!
数组指针
int (*p)[4];
char (*p)[4];
指针数组
int *p[10];
char *p[10];
char **p[10]
它们都是大小为10元素的数组,里面分别存放着元素为 int,char, char** 类型的指针数组
函数指针
示例:
1 | 这里定义void (*p)()。一眼可知pfun1先和*结合,说明pfun1是指针,指针指向的是一个函数,指向的函数无参数,返回值类型为void。 |
这里定义void (p)()。一眼可知pfun1先和结合,说明pfun1是指针,指针指向的是一个函数,指向的函数无参数,返回值类型为void。
函数指针数组
把函数的地址存到一个数组中,那这个数组就叫函数指针数组
int (*parr1[10])();
int *parr210;
int (*)() parr3[10];
parr1 先和 [] 结合,说明parr1是数组,数组的内容是什么呢? 是 int (*)() 类型的函数指针。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Zhonghe_Zhao!