#include<stdio.h>
#include<string.h> //指针函数: 是一个函数, 但是这个函数的返回值类型是一个指针
//函数指针: 是一个指针, 这个指针的指向是一个函数
//下面是指针函数
int * fun()
{
int a = 10;//a 是一个局部变量
int *p;
p = &a;
return p;
} int main()
{
int *p1 = fun();
printf("%d", *p1);
}
//10
#include<stdio.h>
#include<string.h> //指针函数: 是一个函数, 但是这个函数的返回值类型是一个指针
//函数指针: 是一个指针, 这个指针的指向是一个函数 void fun1(int a , int b){
printf("a+b = %d", a+b);
} //函数指针的定义个数: 函数的返回值类型(*函数指针名)(函数的形参)
void (*pfun) (int a , int b);//函数名, 就是函数的首地址 int main(){
pfun = fun1;
pfun( 10, 11); // a+b = 21
}
#include<stdio.h>
#include<string.h> //指针函数: 是一个函数, 但是这个函数的返回值类型是一个指针
//函数指针: 是一个指针, 这个指针的指向是一个函数 int add (int a , int b){
return a+b;
} int sub(int a, int b ){
return a-b;
} //指针函数, 类似于python把函数作为形参传给另外一个函数,但是这里的函数新参不需要指定, 在调用的时候指定就可以了
void fun3(int (*pf)(int, int ), int x , int y)
{
printf ("%d\n", pf(x,y));
} int main(){
fun3(add, 10, 11);// 在调用函数fun3的时候再指定指针函数为add()
fun3(sub, 10, 11);//在调用函数fun3的时候再指定函数为sub()
}

21
-1
#include<stdio.h>
#include<string.h> //指针函数: 是一个函数, 但是这个函数的返回值类型是一个指针
//函数指针: 是一个指针, 这个指针的指向是一个函数 //函数指针取别名 int add (int a , int b){
return a+b;
} int sub(int a, int b ){
return a-b;
} typedef int (*pf)(int , int);//函数指针取别名, 别名就是他自己, 并且别名可以当做类型去使用 void fun3(pf pf1, int x , int y)//别名pf 可以当做类型去使用, 定义一个pf 类型的变量pf1
{
printf ("%d\n", pf1(x,y));
} int main(){
fun3(add, 10, 11);// 在调用函数fun3的时候再指定指针函数为add()
fun3(sub, 10, 11);//在调用函数fun3的时候再指定函数为sub()
}

最新文章

  1. 解析Jquery取得iframe中元素的几种方法
  2. T-SQL中的一些小陷阱
  3. web框架--bottle
  4. 为什么使用Sass
  5. HTML+JS+DOM【选项卡自动切换】
  6. NSString的八条实用技巧
  7. Dijkstra + 优先队列优化 模板
  8. IntentService的使用
  9. android studio 实现代码混淆
  10. BZOJ 1216: [HNOI2003]操作系统( 优先队列 )
  11. 转账示例(四):service层面实现(线程管理Connection,AOP思想,动态代理)(本例采用QueryRunner来执行sql语句,数据源为C3P0)
  12. OpenCV3编程入门读书笔记5-边缘检测
  13. iOS HTML特殊字符转译
  14. iperf详细使用方法
  15. java 形式参数和实际参数的区别
  16. scrapy项目对接Docker
  17. Linux普通用户不能使用TAB键、上下键
  18. JFinal中文件上传后会默认放置到WebContent的upload包下,但是tomcat会自动重启,当我们再次打开upload文件夹查看我们刚刚上传的文件时,发现上传的文件已经没有了。
  19. 利用Elasticsearch搭建全球域名解析记录
  20. json转java对象

热门文章

  1. VMware-实用网站
  2. Vue项目中简易演示axios解耦
  3. SAP 开具发票的抬头文本带到会计凭证上
  4. vue中的Swiper使用slideTo提示no function
  5. npm 局部安装 jbrowse
  6. 【Linux】ArchLinux 使用之旅
  7. crontal 计划任务
  8. 当win7遭遇蓝屏代码0x0000006b
  9. A Novel Cross-domain Access Control Protocol in Mobile Edge Computing
  10. C#校验GPS数据