#include<stdio.h>
void MyInt(void const *ar,int size)
{size/=4;      //int       一次打印4字节int const *p=(int const *)ar;for(int i=0;i<size;++i){printf("%d ",p[i]);}printf("\n");
}
void MyFloat(void const *ar,int size)
{size/=4;  //float     一次打印4字节float const *p=(float const*)ar;for(int i=0;i<size;++i){printf("%f ",p[i]);}printf("\n");
}
void MyPrint(void const *ar,int size,void(*pfun)(void const*,int))
{if(NULL!=pfun){   pfun(ar,size);}}
void main()
{const int n=10;int ar[n]={12,23,34,45,56,67,78,89,90,100};float dr[n]={1.2,2.3,3.4,4.5,6.7,8.9,9.0,10.0};MyPrint(ar,sizeof(ar),MyInt);MyPrint(dr,sizeof(dr),MyFloat);
}
//sizeof中数组名代表整个数组的大小,其他情况下数组名代表首元素的地址。

函数指针实现无类型打印相关推荐

  1. 函数指针和函数指针类型

    参考:https://blog.csdn.net/candyliuxj/article/details/6339414 函数指针 1.     定义 每一个函数都占用一段内存单元,它们有一个起始地址, ...

  2. static关键字 void和void指针 函数指针

    static关键字 1.作用于变量:    用static声明局部变量-------局部变量指在代码块{}内部定义的变量,只在代码块内部有效(作用域),其缺省的存储方式是自动变量或说是动态存储的,即指 ...

  3. C语言基础10——指针进阶。字符指针、指针数组、数组指针、函数指针、函数指针数组、回调函数、数组名详解、杨氏矩阵、字符串旋转

    目录 字符指针 指针数组 数组指针 数组传参.指针参数 函数指针 函数指针数组 指向函数指针数组的指针 回调函数 练习 数组名的意义 指针笔试题 字符指针 字符指针的另一种使用方式 #include ...

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

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

  5. 虚函数指针sizeof不为sizeof(void*)

    ref:http://bbs.csdn.net/topics/360249561 一个继承了两个虚基类又增加了自己的一个虚函数pif的类,sizeof(指向pif的指针)竟然是8(X86). 我是从这 ...

  6. 函数指针 回调函数 面向对象风格的C语言

    这篇文章的所有代码都是用C实现的,这是由于C没有面向对象的特性,所以我希望用函数指针把C的结构体弄得有一点面向对象的感觉. 先介绍函数指针.回调函数,然后用C结合回调函数实现一个有面向对象风格的链表 ...

  7. C++:函数指针调用方法

    函数指针调用普通函数  #include<iostream>using namespace std;void Show()//void(*)() {cout << " ...

  8. 面试官问你斐波那契数列的时候不要高兴得太早 搞懂C语言函数指针 搜索引擎还可以这么玩? 那些相见恨晚的搜索技巧...

    面试官问你斐波那契数列的时候不要高兴得太早 前言 假如面试官让你编写求斐波那契数列的代码时,是不是心中暗喜?不就是递归么,早就会了.如果真这么想,那就危险了. 递归求斐波那契数列 递归,在数学与计算机 ...

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

    文章目录 函数指针用法 类中的成员函数接收函数指针 情况1 情况2 情况3 总结 函数指针用法 函数指针可以作为一个函数的参数,传不同的函数指针给这个函数就可以让其实现不能的功能.从而我们可以复用这个 ...

最新文章

  1. 设计模式-工厂方法(Factory Method)
  2. apache.camel_Apache Camel 2.19发布–新增功能
  3. vue 组件属性监听_详解vuex 中的 state 在组件中如何监听
  4. poj2176 Folding
  5. 科研|诺奖得主本庶佑: 不要相信论文里写的东西,《自然》《科学》这些杂志上的观点有九成是不正确的...
  6. C++array容器用法解析,它与普通数组究竟有何不同?
  7. 解决java poi海量数据导出内存溢出问题
  8. CLRS10.1-6练习 - 用双栈实现队列
  9. 当前主流的单元测试工具
  10. modbus-tcp协议通过Java代码获取从机数据
  11. Eclipse 优化
  12. 微信发布2018年各年龄段用户使用数据报告
  13. 软件定义数据中心:双态IT的基石
  14. phpword 实现word文件模板字符替换
  15. 【转】HTML5前端性能优化——浏览器兼容与前端性能优化
  16. android应用统计获取api,APICloud
  17. 图片的合成(个人练习,不喜勿喷!)
  18. ES7和 ES8 一览
  19. WIN10环境下配置hadoop+spark并运行实例的教程
  20. 【时间复杂度】时间复杂度

热门文章

  1. Redhat(Linux)上的JBoss管理配置
  2. sqlite的交叉编译及移植 -转
  3. 1035. 插入与归并(25)-浙大PAT乙级真题
  4. 蓝桥杯 ALGO-29 算法训练 校门外的树(区间处理)
  5. vue 前端png转pdf_Vue前端HTML保存为PDF的两种常用方式 「干货分享」
  6. 小米运维—互联网企业级监控系统实践
  7. 探访新疆北部主力气田:推陈出新 “新科技”保供气
  8. oracle下创建id自增长
  9. maven2+依赖传递
  10. Linux文件权限的解析