zhangzhe101 发表于 2010-4-7 21:35:37

在线求助:关于void类型的变量

最近在学NUT/OS,在SOCKET API中中发现函数:
NutUdpSendTo (UDPSOCKET *sock, u_long addr, u_short port, void *data, u_short len)
关于void *data很是不明白,void一般只见于定义函数类型,以前真没见过定义变量的。查了一些相关材料,说GUN标准下是允许的,ANSI标准不允许,仅此而已。
那么我要操作的data到底应该是什么类型的数据呢?比如我要用这个函数发送一个unsigned char my_data[]类型的数组该怎么操作?哪位高人给指点一下,不胜感激?
补充一下我用的是ICC。

zchong 发表于 2010-4-7 21:59:00

my_data传过去就是了
里面用的话再转化成unsigned char就行了

zhangzhe101 发表于 2010-4-7 22:06:31

回复【1楼】zchong
-----------------------------------------------------------------------

嗯,谢谢。
我也刚在内存拷贝函数上找到了答案,无类型就是可以是任意类型,最基本的类型,直接操作的存储区,而不是有特殊意义的数据类型,也不必考虑其类型。正所谓“一个纯粹的,脱离低级趣味的函数!”说的太好了!

voidx 发表于 2010-4-8 08:33:10

回复【楼主位】zhangzhe101 avreducer
关于void *data很是不明白,void一般只见于定义函数类型,以前真没见过定义变量的。查了一些相关材料,说GUN标准下是允许的,ANSI标准不允许
-----------------------------------------------------------------------

void *是标准C的内容。

takashiki 发表于 2010-4-8 09:23:22

void类型变量?
不可能吧,只有函数返回值才可以定义为void类型吧,不然你定义一个
void a;
给我看看。

只能定义void*类型变量,表示通用指针类型。
页: [1]
查看完整版本: 在线求助:关于void类型的变量