c语言参数带void*

哪位大侠给个简单点的参数中带有void *p的例子,10左右行就够了,我想了解下c语言中参数带void*的用法。先谢谢了

如果函数的参数不指定,(或者说可以是任意类型)的指针,则使用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;//这个就不一定正确了,要分编译器。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-02
#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);
}本回答被提问者采纳