c语言参数带void*

哪位大侠给个简单点的参数中带有void*p的例子,10左右行就够了,我想了解下c语言中参数带void*的用法。先谢谢了... 哪位大侠给个简单点的参数中带有void *p的例子,10左右行就够了,我想了解下c语言中参数带void*的用法。先谢谢了 展开
 我来答
pardream941026
2013-01-20 · TA获得超过8217个赞
知道大有可为答主
回答量:4602
采纳率:89%
帮助的人:1334万
展开全部
如果函数的参数不指定,(或者说可以是任意类型)的指针,则使用void *
如:void *func(void *var1) { }
void* 在ANSI与GNU中的表现也不一致。
ANSI中,void *p;
p++; p+=1; 都是不允许的,因为ANSI认为必须明确指针类型,才能进行运算。
而GNU中,则认为是合法的,默认规则是void*等同于char*
一般运用:
int *p; void *q;

*p = (int*)q;
(char *)q++;

(char*)q+=1;//这个就不一定正确了,要分编译器。
shaoqi08110820
推荐于2017-10-02 · TA获得超过2508个赞
知道大有可为答主
回答量:1514
采纳率:100%
帮助的人:1735万
展开全部
#include <stdio.h>
void compare(void* p)
{
int *s=(int*)p; //要实现转化,否则报错
printf("s=%d\n",*s);
}
void main()
{
int m;
scanf("%d",&m);
compare(&m);
printf("m=%d\n",m);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式