#include<iostream>
usingnamespacestd;
//函数指针指向函数的指针
//在这里声明了一个函数
intadd(intx,inty);
//以函数指针的方式声明一个函数(*add_p)和add是等价的add_p便是一个指向返回值为int参数也为两个int函数指针
//现在可以这样进行赋值add_p=&add也可以直接这样add_p=add它们是等价的
//现在可以这样调用add_p函数(*add_p)(x,y);也可以直接这样add_p(x,y)这种感觉就好像add_p和add是一模一样的.
//于是我试了一下这样(*add)(x,y)好吧这样也是可行的.是不是说add本生也是一个指针呢??
int(*add_p)(intx,inty);
//我声明了另外一个函数我做了这样一个操作add=mul.好吧,事实上这行代码编译都通不过.但是我可以这样add_p=mul.所以以指针的方式声明一个函数和普通的函数相比,具有更高的灵活性.
//它相当于一个变量可以指向不同的函数(特征要相同).而普通的函数更向一个const常量
intmul(intx,inty);
//这个函数需要三个参数两个操作数,加一个指针函数
intop(intx,inty,int(*)(intx,inty));
intmain()
{
add_p=add;
cout<<"Hello"<<endl;
cout<<add_p<<endl;
cout<<add<<endl;
cout<<add(4,5)<<endl;
cout<<add_p(3,10)<<endl;
add_p=mul;
cout<<add_p(1,2)<<endl;
cout<<op(1,5,mul)<<endl;
cout<<op(1,5,add)<<endl;
//op1(1);
return0;
}
intadd(intx,inty)
{
returnx+y;
}
intmul(intx,inty)
{
returnx*y;
}
intop(intx,inty,int(*p)(int,int))
{
returnp(x,y);
}

转载于:https://www.cnblogs.com/lvwj/p/3273436.html

每日一C(函数指针)相关推荐

  1. 面试准备每日五题:C++(六)——CC++、staticconstextern、sizeof strlen、指针引用、数组指针指针数组函数指针

    文章目录 一.C和C++的区别是什么? 二.关键字static.const.extern作用 三.sizeof和strlen的区别 四.指针和引用的区别 五 .指针数组.数组指针.函数指针 一.C和C ...

  2. c/c++中的函数指针和指针函数

    定义 1.指针函数,本质是函数,返回值为指针,形如,int *pfun(int, int),由于"*"的优先级低于"()"的优先级,所以等同于int *(pfu ...

  3. 函数指针amp;绑定: boost::functoin/std::function/bind

    see link: https://isocpp.org/wiki/faq/pointers-to-members function vs template: http://stackoverflow ...

  4. 0709 C语言常见误区----------函数指针问题

    1.函数指针的定义 对于函数 void test(int a, int b){ // } 其函数指针类型是void (* ) (int , int), 注意这里第一个括号不能少, 定义一个函数指针,v ...

  5. java跨函数跳转_C语言中将绝对地址转换为函数指针以及跳转到内存指定位置处执行的技巧...

    1.方法一 要对绝对地址0x100000赋值,我们可以用 (unsigned int  * ) 0x100000 = 1234; 那么要是想让程序跳转到绝对地址是0x100000去执行,应该怎么做? ...

  6. 函数指针(就做个笔记)

    1,函数的地址 #include <stdio.h> int main(){int i=0;printf("main=%p\n",main);printf(" ...

  7. 函数指针--Nginx和Redis中两种回调函数写法

    1.Nginx和Redis中两种回调函数写法 #include <stdio.h>//仿Nginx风格 //结构外声明函数指针类型 typedef void (*ngx_connectio ...

  8. 结构体中定义函数指针

    结构体指针变量的定义,定义结构体变量的一般形式如下: 形式1:先定义结构体类型,再定义变量 struct结构体标识符 { 成员变量列表;- }; struct 结构体标识符 *指针变量名; 变量初始化 ...

  9. C++中函数指针的使用

    A function pointer is a variable that stores the address of a function that can later be called thro ...

  10. C++函数指针解引用

    声明函数的引用: int f( double ); int (* const pf)(double) = f;       // pf是指向函数f()的常量指针 int (&rf)(doubl ...

最新文章

  1. 面试造飞机系列:volatile面试的连环追击,你还好吗?
  2. CodeForces - 1110C-Meaningless Operation(打表找规律)
  3. CSAPP-计算机漫游
  4. 更高效地刷OJ——Java中常用的排序方法,Array.sort(),Arrays.parallelSort(), Collections.sort()
  5. excel打印预览在哪里_别再浪费A4纸了,Excel按下这个键,一张纸可以打印全部表格内容...
  6. 企业管理系统前后端分离架构设计 系列一 权限模型篇
  7. 百度陆奇:AI是5G网络下最好的加速器,技术商业化还要更快
  8. 简单了解Tomcat与OSGi的类加载器架构
  9. atitit.自己动手开发编译器and解释器(1) ------词法分析--attilax总结
  10. python入门视频教程
  11. html投影电脑,投影仪怎么连接电脑 电脑连接投影仪方法【步骤】
  12. php汉字首字母缩写,中文转拼音缩写(php版本复制可用)
  13. 天馈线测试仪是什么?
  14. 用onetab插件管理chrome的tab页,解决.crx安装时显示invalid的问题
  15. Java memory stream 内存流
  16. 【学习笔记】IGMP snooping原理
  17. 自满型性格分析,如何改变自满型性格?
  18. SaaS电子病历系统源码
  19. 国际最新消息:Google 宣布成功攻破 SHA-1 加密
  20. 海康API返回Json值获取

热门文章

  1. caffe中Makefile.config配置
  2. OpenCV视频生成报错 Incorrect library version loaded Could not open codec ‘libopenh264‘: Unspecified error
  3. java win7 管理员权限_Win7下超级管理员创建普通权限任务
  4. 南昌大学计算机网络通信用什么书,南昌大学_计算机网络教材.doc
  5. 和 对比_Yeezy350V2新灰橙真假对比
  6. 代码开源许可证 区别 Apache MIT GPL
  7. xuperchain 查看源码代码版本号
  8. ubuntu 时间戳不对
  9. java servlet JSP 区别_servlet和jsp的区别
  10. 玩客云pc端_移动端灵活弹性云电销平台解决方案