前言
很绕,容易记错!因此记录一下,方便自己查阅!
正文
指针函数
指针函数是一个函数的返回值为地址的函数。
返回值为指针类型的一个函数
一般格式:
数据类型 * 函数名(形参){ 语句: }
比如
char name[] = "@站长"; char* getName() { return name; }
本质就是函数!
函数指针
函数指针用来存放函数的地址,这个地址就是函数入口的地址。函数名就是代表函数的入口地址!
一般定义形式:
数据类型 (* 函数指针名称) (参数说明表);
规则
数据类型 : 是函指针所指向的函数返回值类型
参数说明表 : 与函数指针缩指向的形参说明表保持一致
# 定义 int (*fun_sum)(int x, int y); int sum(int x, int y){ return x+y; } # 指向sum地址 # 可看成给sum函数找新代理名为fun_sum fun_sum = sum;
小结
1. [指针函数]]是个函数,返回类型为指针 2. [函数指针]是个指针,用于指向函数地址的 3. 如果函数名前的指针*被括号()包含,就是函数指针;反之,是指针函数
PS:我的理解,完全可以看后面名称。
如果后面的是指针,那就是指针类型,也就可以指向地址。
如果后面的是函数(或数组),那就是返回类型或存储类型是指针。
参考文章
© 版权声明