黑马程序员技术交流社区
标题:
新人笔记2
[打印本页]
作者:
snowimba
时间:
2015-10-12 20:32
标题:
新人笔记2
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;
}
可以随意改变指向;可以减少函数改动;可以写分支函数,
函数指针不能进行算术运算,地址移动没意义;
函数指针是间接调用;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2