文档章节

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

lyh2017iOS
 lyh2017iOS
发布于 2017/07/06 01:26
字数 259
阅读 2
收藏 0
点赞 0
评论 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
博文 354
码字总数 137380
作品 0
朝阳
C语言const关键字作用

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

长平狐 ⋅ 2012/09/03 ⋅ 0

C语言数组与指针一本道来

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

PcDack ⋅ 2017/12/04 ⋅ 0

十四、返回指针的函数与指向函数的指针

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

长平狐 ⋅ 2013/03/28 ⋅ 0

指针的使用

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

大道无名 ⋅ 2016/10/22 ⋅ 0

C语言小测验和参考答案

1.用变量a给出下面的定义 a) 一个整型数(An integer) b)一个指向整型数的指针A pointer to an integer) c)一个指向指针的指针(An array of 10 integer) d)一个有10个指针的数组(An array of ...

扶殊88 ⋅ 2011/11/29 ⋅ 0

函数的指针

1.C语言中的函数指针 C语言中的指针可以指向整型、字符型或者结构体类型,同样也可以指向一个函数,这就是函数的指针。函数指针的值等于该函数存放其二进制执行代码的内存区域的首地址: 函数...

大道无名 ⋅ 2016/10/22 ⋅ 0

十三、指针和字符串

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

长平狐 ⋅ 2013/03/28 ⋅ 0

最丑陋的 C 语言特性:tgmath.h

是一个在C99引入的,标准C语言库提供的头文件。对于Fortran编写的数值软件,它向C语言提供更加简洁的接口。 跟C语言不同,Fortran提供了编写在该语言内部的“固有函数”,其表现得更像操作符...

oschina ⋅ 2013/10/11 ⋅ 18

十一、指针

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

长平狐 ⋅ 2013/03/28 ⋅ 0

C语言嵌入式系统编程修炼

C语言嵌入式系统编程修炼 来源: ChinaUnix博客 C语言嵌入式系统编程修炼之内存操作篇 数据指针 在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以...

DB_Terrill ⋅ 2011/04/12 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

windows profesional 2017 build problem

.net framework .... https://stackoverflow.com/questions/43330915/could-not-load-file-or-assembly-microsoft-build-frameworkvs-2017...

机油战士 ⋅ 22分钟前 ⋅ 0

python3中报错的解决方法(长期更新)

1、ImportError: No module named ‘DjangoUeditor’ 出错原因:安装DjangoUeditor库适用于python2,需要下载适用python3的 下载地址:https://github.com/twz915/DjangoUeditor3 2、python3......

xiaoge2016 ⋅ 26分钟前 ⋅ 0

数据结构与算法之双向链表

一、双向链表 1.双向链表的结点结构 typedef struct DualNode{ ElemType data; struct DualNode *prior; // 前驱结点 struct DualNode *next; // 后继结点}DualNode, *DuL...

aibinxiao ⋅ 46分钟前 ⋅ 0

五大最核心的大数据技术

大数据技术有5个核心部分,数据采集、数据存储、数据清洗、数据挖掘、数据可视化。关于这5个部分,有哪些核心技术?这些技术有哪些潜在价值?看完今天的文章就知道了。 大数据学习群:7165810...

董黎明 ⋅ 47分钟前 ⋅ 0

PhpStorm 头部注释、类注释和函数注释的设置

首先,PhpStorm中文件、类、函数等注释的设置在:setting-》Editor-》FIle and Code Template-》Includes下设置即可,其中方法的默认是这样的: /**${PARAM_DOC}#if (${TYPE_HINT} != "v...

nsns ⋅ 47分钟前 ⋅ 0

spring.net AOP

http://www.springframework.net/doc-latest/reference/html/aop-quickstart.html https://www.cnblogs.com/wujy/archive/2013/04/06/3003120.html...

whoisliang ⋅ 52分钟前 ⋅ 0

【HAVENT原创】创建 Dockerfile 生成新的镜像,并发布到 DockerHub

注意:Win7 与 Win10 的版本存在差异,Win7 版本使用 Docker Quickstart Terminal 进入控制台,Win10下面直接用管理员权限打开控制台或者 PowerShell 即可;另外 Win7 下面只能访问 C盘,/ap...

HAVENT ⋅ 52分钟前 ⋅ 0

pom.xml出现web.xml is missing ...解决方案

提示信息应该能看懂。也就是缺少了web.xml文件,<failOnMissingWebXml>被设置成true了。 搜索了一下,Stack Overflow上的答案解决了问题,分享一下。 目前被顶次数最多的回答原文如下: This...

源哥L ⋅ 53分钟前 ⋅ 0

js时间戳与日期格式之间相互转换

1. 将时间戳转换成日期格式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 // 简单的一句代码 var date = new Date(时间戳); //获取一个时间对象 /** 1. 下面是获取时间日期的方法,需要什么样的格式自己...

Jack088 ⋅ 58分钟前 ⋅ 0

web添加log4j

添加xml配置log4j.properties # Global logging configuration---root日志设置#log4j.rootLogger=info,dailyRollingFile,stdoutlog4j.rootLogger=debug,stdout,dailyRollingFile---......

黄柳淞 ⋅ 59分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部