#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中数组名代表整个数组的大小,其他情况下数组名代表首元素的地址。函数指针实现无类型打印
最新推荐文章于 2024-08-27 22:48:09 发布
本文介绍了一种使用C语言打印不同类型内存数据的方法。通过定义通用的打印函数,并根据输入数据类型选择适当的处理方式(整数或浮点数),实现了灵活且高效的数据展示。此方法有助于理解内存布局及数据解析。

1594

被折叠的 条评论
为什么被折叠?



