/可以把void理解成一个泛型如C#中的object,当你传参的时候,先转化为泛型,
在用的时候你就把它转化为你想要的类型,但是也有限制:那就是只能在指针之间转化
,不能在指针和非指针之间进行转化*/
#include <stdio.h>
void Number(void* param)
{
//int num;
//num = (int)param; //error: cast from ‘void*’ to ‘int’ loses precision [-fpermissive]
int *num;
num = (int *)param;
printf("Number:%d\n",num);//warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘int*’
}
void String(void* param)
{
char* str;
str = (char*)param;
printf("String:%s\n",str);
}
int main(int argc, char* argv[])
{
Number((void *)2);
String((void *)"hello");
return 0;
}
输出结果:
Number:2
String:hello
原文:https://blog.csdn.net/oyhb_1992/article/details/77361344?utm_source=copy