1、指针函数:本质是一个函数。函数返回类型是某一类型的指针
格式: 类型标识符 *函数名(参数表)
int *f(x,y);
1 2 3 4 5 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
本质是函数 只是这个函数返回的是一个执行某一类型数据的指针;
2、函数指针是指向函数的指针变量,即本质是一个指针变量。
格式:类型说明符 (*函数名)(参数)
int (*f) (int x);
指向函数的指针包含了函数的地址,可以通过它来调用函数
其实这里不能称为函数名,应该叫做指针的变量名。这个特殊的指针指向一个返回整型值的函数实现地址。指针的声明笔削和它指向函数的声明保持一致。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
指针名和指针运算符外面的括号改变了默认的运算符优先级。如果没有圆括号,就变成了一个返回整型指针的函数的原型声明。
辨别方式就是看函数名前面的指针*号有没有被括号()包含,如果被包含就是函数指针,反之则是指针函数。
3、回调函数