文档章节

第09天C语言(08):指向函数的指针的应用场景

lyh2017iOS
 lyh2017iOS
发布于 2017/07/06 01:26
字数 259
阅读 3
收藏 0

#pragma mark 指向函数的指针的应用场景 ###pragma mark 概念

###pragma mark 代码

#include <stdio.h>
int sum(int v1,int v2)
{
    return v1 + v2;
}

int minus(int v1,int v2)
{
    return v1 - v2;
}

// 接收一个 指向 函数的指针
// 让demo接收一个 指向函数的指针
// 以后我们只需要给demo 函数传递对应的指针, 那么函数内部就可以调用不同的函数
int demo(int v1,int v2)
{
    return minus(v1, v2);
}

int demo2(int v1,int v2)
{
    return sum(v1, v2);
}

// 接收了3个参数 v1 v2, 指向函数的指针 int (*p)(int ,int)
int demo3(int v1,int v2 , int (*p)(int ,int))
{
    return p(v1,v2);
}
int main()
{
    // 定义一个方法,给你两个数,用户要求你做加法 你就做加法,用户要求你做减法,那你就做减法
//    printf("sum  = %i\n",sum(10, 20));
//    printf("minus  = %i\n",minus(20, 10));
    
//    printf("minus = %i\n",demo(20, 10));
//    printf("sum = %i\n",demo2(20, 10));
    
    printf("minus = %i\n",demo3(20, 10, minus));
    printf("minus = %i\n",demo3(20, 10, sum));
    
    
    return 0;
}

© 著作权归作者所有

共有 人打赏支持
lyh2017iOS
粉丝 1
博文 357
码字总数 137380
作品 0
朝阳
私信 提问
十四、返回指针的函数与指向函数的指针

说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略 前言 前面我们花了...

长平狐
2013/03/28
89
0
C语言const关键字作用

C语言中const代表着”不可变“,基本和常量一样不可修改,但是应用场景不一样。 一.应用在变量 const char a='A'; a='B'; //错误,变量a的值不可以修改。 此时代表变量a值不可改变,任何企图...

长平狐
2012/09/03
1K
0
C语言数组与指针一本道来

数组与指针.png 一本道来其他系列 C语言关键字 C语言注释符号一本道来 C语言编译预处理技术一本道来 指针的基础 注意本节内容可能在gcc下不能完成编译,请切换到Windows平台,使用或其他 指针...

PcDack
2017/12/04
0
0
指针的使用

1.指针与别名陷阱 如果有一块内存区域,指向这块内存区域的指针有多个,其中每一个指针都是其他指针的别名。 别名操作在优化程序是会造成很多麻烦,如下面的例子: 上面的两段代码,第一段访...

大道无名
2016/10/22
10
0
十三、指针和字符串

说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略 字符串回顾 一个字...

长平狐
2013/03/28
59
0

没有更多内容

加载失败,请刷新页面

加载更多

docker搞个wordpress

1.先把wordpress的镜像下载下来 docker pull wordpress 2.下载mysql docker pull mysql:lastest 3.启动mysql docker run --name blog -e root -d mysql:5.7 docker run --name some-mysql -e......

无极之岚
5分钟前
0
0
【宇润日常疯测-005】PHP 中的 clone 和 new 性能比较

clone和new本不应该放在一起比较,它们的作用是不同的。但可能有一些场景下,可以用clone也可以用new,那么这时候我们选哪个呢? 我编写了两个测试,第一个是声明一个空类,第二个是带构造方...

宇润
6分钟前
0
1
点击按钮弹出类似IOS 底部 dialog

implementation 'com.baoyz.actionsheet:library:1.1.7' 然后设置按钮点击监听,,调用下列代码即可 ActionSheet.createBuilder(this, getSupportFragmentManager()) ......

lanyu96
9分钟前
1
0
专访阿里云专有云马劲,一个理性的理想主义者

“我的故事都是和团队技术相关的,自己还真没有什么引人入胜的故事。”当马劲被问到能不能多分享些个人经历故事时他笑着说,我们就干脆怀着好奇聊了聊他和阿里云专有云一路走来的故事。 马劲...

阿里云官方博客
41分钟前
1
0
java环形缓冲区

import java.util.ArrayList;import java.util.List;/** * * 环形缓冲区<br/> * 一. 写数据:<br/> * 1. push: 当数据已写满时返回false,否则可以正常写入返回true<br/>......

whoisliang
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部