C语言Review5_函数指针和数组指针

============【函数指针】====================
指向函数的指针;
函数是有地址的;
函数指针存储了函数指令的起始地址;

声明一个函数指针:需要指明函数返回类型和形参类型;
int (*fp)(int,int);
*fp为一体,说明了指针类型;*fp需要用括号括起来;

还可以结合typedef为函数指针类型起一个新名字:
typedef int (*myFun)(int,int); //现在这种类型的函数指针新名字叫做myFun
可以这样定义函数指针:
myFun f1;

这样注册回调时候,只要把回调函数名作为参数,写进注册器中就可以了。

============【指向数组的指针】====================

int (* arrPtr)[10] = NULL;   // 一个指针,它指向一个有10个int元素的数组


void Func(int (*array)[10]); 注意*array需要用括号括起来。
这种形式的声明参数是一个指针,它指向具有10个元素的一维数组。因为[]的优先级比*的优先级高,故*array必须用括号括起来

posted @ 2021-04-14 23:41  Grooovvve  阅读(64)  评论(0编辑  收藏  举报