【发布时间】:2017-09-07 15:07:06
【问题描述】:
我有一个将从main.c 调用的函数。
函数原型是
void *function (void *args)
{
Struct strData *data = args;
char* str;
int a;
str = data->name;
a = data->value;
if (data->value == 1)
{
data->value = 10;
return data;
}
}
而结构定义为
Struct strData
{
int data;
char* name;
};
如何从 main 调用上述函数?以及如何将整个结构从函数返回到 void*?以及如何将值发送到参数?我是否需要对函数内部参数的值进行类型转换?
【问题讨论】:
-
你能描述一下你想通过从main调用这个函数来实现什么吗?上下文还不够清楚。
-
为什么将
args传递为void *而不是struct strData *? -
看起来像XY Problem。你实际上想要达到什么目的?
-
它必须是 void* 因为它是一个正在实现的通用函数
-
@Sona,请不要发布整个程序,而是将其精简为 minimal reproducible example。
标签: c