1、函数指针:
一个函数总是占用一段连续的内存区,函数名就是该函数所占存储区的首地址;
把指向函数的指针变量称为:函数指针变量;
2、函数指针定义方法:
返回值类型 (*变量名)(函数的参数);
#include <stdio.h>
int sum(int a,int b){
return a>b?a:b;
}
int main(int argc, const char * argv[]) {
// insert code here...
// 可以不写形参名;
int (*p)(int a,int b);//定义函数指针;
p = sum;//初始化
printf("Hello, World!\n");
return 0;
}
3、函数指针的使用:
#include <stdio.h>
int sum(int a,int b){
return a>b?a:b;
}
int main(int argc, const char * argv[]) {
// 可以不写形参名;
int (*p)(int,int);
p = sum;
printf("%d\n",p(2,3));
return 0;
}
可以随意改变指向;可以减少函数改动;可以写分支函数,
函数指针不能进行算术运算,地址移动没意义;
函数指针是间接调用;
|
|