//函数指针
#include<stdio.h>
#include<stdlib.h>
#include<string.h>//函数指针类型跟数组类型非常相似//函数名就是函数的地址,函数的指针,对函数名进行&取地址操作,还是函数名本身,这是C语言编译器的特殊处理
void test(int a){printf("a=%d\n",a);
}void ProtectA(){//定义函数类型typedef void(FunType)(int);FunType *ft = test;FunType *ft2 = &test;//这两种赋值方式的结果完全一样ft(1);ft2(2);//定义函数指针类型typedef void(*PFun)(int);PFun pf = test;pf(3);//定义函数指针变量void(*pf2)(int) = test;pf2(4);
}void main(){ProtectA();system("pause");
}

转载于:https://www.cnblogs.com/zhanggaofeng/p/5648181.html

C语言 函数指针一(函数指针的定义)相关推荐

  1. C语言函数名与函数指针详解

     二.通常的函数调用一个通常的函数调用的例子: /* 自行包含头文件 */ void MyFun(int x); /* 此处的声明也可写成:void MyFun(int) */ int main( ...

  2. 【C 语言】字符串模型 ( 字符串翻转模型 | 抽象成业务函数 | 形参返回值 | 函数返回值 | 函数形参处理 | 形参指针判空 )

    文章目录 一.字符串翻转模型 业务函数 二.完整代码示例 一.字符串翻转模型 业务函数 将上一篇博客 [C 语言]字符串模型 ( 字符串翻转模型 ) 的代码 , 主要业务逻辑 , 抽象成函数 ; 字符 ...

  3. 【C 语言】字符串模型 ( strstr-while 模型 | 抽象函数模型 | 业务子函数接口定义要点 | 形参指针间接赋值 | 返回值状态 | 形参指针处理 | 形参指针判空 | 形参返回值 )

    文章目录 前言 一.业务子函数接口定义要点 二.完整代码示例 前言 字符串开发模型 : strstr-while/do-while 模型 : 在 字符串 中 查找 子串特征 ; 两头堵模型 : 两个指 ...

  4. 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)

    相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...

  5. 【嵌入式开发】C语言 命令行参数 函数指针 gdb调试

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21551397 | http://www.hanshul ...

  6. C语言指针作为函数返回值

    C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数.下面的例子定义了一个函数 strlong(),用来返回两个字符串中较长的一个: #include <stdio.h> ...

  7. 12-黑马程序员------C 语言学习笔记--- C语言指针与函数

    黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培 ...

  8. C语言enum(枚举)、指针、函数指针

    C enum(枚举) 枚举是c语言中的一种数据类型,定义格式为 enum 枚举名{枚举元素1,枚举元素2,......}; 用#define定义一星期七天,就要为每个整数定义一个别名 #define ...

  9. c语言怎么让写的函数兼容int型和char型_既然C语言void指针是“万能指针”,那么malloc还需类型转换吗?...

    在C语言程序开发中,动态内存分配是不可避免的,而调用 malloc()/free() 库函数实现这一过程是方便的,事实上,在很多C语言程序中,malloc/free 库函数的使用相当频繁,它俩的C语言 ...

  10. C语言灵魂篇|指针作为函数返回值

    C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数.下面的例子定义了一个函数 strlong(),用来返回两个字符串中较长的一个: #include #includechar *s ...

最新文章

  1. springcloud基于ribbon的canary路由方案
  2. 计算机与USB沟通方式
  3. HALCON示例程序novelty_detection_dyn_threshold.hdev纱网缺陷检测
  4. java线程并发库之--线程同步工具Exchanger的使用
  5. python整数类型在每一台计算机上的取值范围是一样的_关于python统计一个整数列表中不同数值种类数的问题。...
  6. pptx字体类的相关方法
  7. SPH算法(求最小代价树)
  8. android 回退函数,android浏览器研究-回退和前进
  9. 3.1.1 zabbix(上)
  10. 【转】IP地址、子网掩码、网络号、主机号、网络地址、主机地址以及ip段
  11. 转移性乳腺癌的基因组图谱突出了突变和特征频率的变化
  12. jdbctemplate mysql blob_JdbcTemplate 操作Oracle Blob
  13. EXCEL中如何分段进行快速填充
  14. 计算机小写换大写函数,excel小写换大写函数的教程
  15. Cortex-M3/M4(5)-软件移植
  16. angular2完整视频教程收藏(大漠穷秋)
  17. 【sql】178. 分数排名---两种解决方法,是否使用group by分组成为重点,建议使用分组!!!
  18. 艺赛旗联合创始人胡立军:咨询机构、CIO和用户眼中的RPA「理想型」
  19. securecrt 不掉线_如何不掉线
  20. Ubuntu中连不上网,百度 ping 不通

热门文章

  1. 《nftables相比iptables到底改变了什么》-- (作者:blog.csdn.net/dog250)
  2. 想看程序员的成长课这本书
  3. Android 增量更新实例(Smart App Updates)
  4. Flash教程:多种图片切换效果
  5. android之调用webservice实现图片上传
  6. DXUT框架剖析(2)
  7. php黑名单绕过,利用最新Apache解析漏洞(CVE-2017-15715)绕过上传黑名单
  8. 接口 java性能_MyPerf4J 一个极快的Java接口性能监控和统计工具
  9. Hive 之collect_list/collect_set(列转行)
  10. 人工智能之入门大数据