函数指针变量
从之前的学习我们能够类比出,函数指针变量是用来存放函数地址的,未来通过地址能够调用函数的
函数是有地址的,函数名就是函数的地址,当然也可以通过&函数名
的方式获得函数地址
函数指针变量的表现形式
c
int (*p) (int x, int y)
形式如下:
函数指针变量的使用
通过函数指针调用指针指向的函数
c
#include <stdio.h>
int add (int x,int y)
{
return x+y;
}
int main()
{
int (*p)(int x,int y) =add;
printf("%d",(*p)(2,3));
return 0;
}
typedef关键字
typedef是用来类型重命名,可以将复杂的类型简单化
假如如果你觉得unsigned int太麻烦,写起来太复杂
那么我们就可以
c
typedef unsigned int ugint//将unsigned int 重命名为ugint
假如将数组指针类型int (*)[i]
重命名为aaa
那么我们就能这样写
c
typedef int (*aaa)[i]//新的类型名必须在*的右边
假如将函数指针类型void (*)(int)
重命名为aaa
c
typedef void (*aaa)(int)//新的类型名必须在*的右边
函数指针数组
我们学习过指针数组,就是将指针存储在数组里
那要是把函数的地址存在一个数组中,那个数组就叫函数指针数组
c
int (*arr[i])(int)
arr先于[ ]
结合,说明arr是数组
数组的内容是int ( * )(int)
今天的知识讲解完啦,如果觉得有用可以点一下赞和关注,也可以先收藏以防需要时找不到哦,当然如果作者写的哪里有问题欢迎指出,我们一起进步!!!
祝看到这里的人天天开心哦(笔芯)