1.指针函数概念
- 前面我们介绍过,所谓函数类型是指函数返回值的类型。在C语言中允许一个函数的返回值是一
个指针(即地址),这种返回指针值的函数称为指针型函数。
2.指针函数的定义和使用
- 格式:
```
类型说明符 *函数名(形参表) {
/*函数体*/
}
3.为什么指针可以指向一个函数?
函数作为一段程序,在内存中也要占据部分存储空间,它也有一个起始地址,即函数的入口地址。函数有自己的地址,那就好办了,我们的指针变量就是用来存储地址的。因此,可以利用一个指针指向一个函数。其中,函数名就代表着函数的地址。
4.针函数的定义和使用
格式:
函数的返回值类型 (*指针变量名)(形参1, 形参2, ...);
其中“类型说明符”表示被指函数的返回值的类型。
“(* 指针变量名)”表示“*”后面的变量是定义的指针变量。
最后的空括号表示指针变量所指的是一个函数。
int sum(inta,int b)
{
return a + b;
}
int (*p)(int,int);
p = sum;
```
技巧
1、把要指向函数头拷贝过来
2、把函数名称使用小括号括起来
3、在函数名称前面加上一个*
4、修改函数名称
- 应用场景
调用函数
将函数作为参数在函数间传递
5.使用注意
由于这类指针变量存储的是一个函数的入口地址,所以对它们作加减运算(比如p++)是无意义的
- 函数调用中"(*指针变量名)"的两边的括号不可少,其中的*不应该理解为求值运算,在此处它只是一种表示符号
|
|