gpt4 book ai didi

C 结构到 void* 指针

转载 作者:太空狗 更新时间:2023-10-29 16:58:57 26 4
gpt4 key购买 nike

我有一个结构定义为:

typedef struct {
int type;
void* info;
} Data;

然后我想使用以下函数将其他几个结构分配给 void*:

Data* insert_data(int t, void* s)
{
Data * d = (Data*)malloc(sizeof(Data));
d->type = t;
d->info = s;

return d;
}

struct {
...
} Struct#;

那我就打电话

insert_data(1, variable_of_type_Struct#);

当我编译它时它给出了一个警告

warning: assignment from incompatible pointer type

我试图将插入中的变量转换为 (void*) 但没有成功

insert_data(1, (void *) variable_of_type_Struct#);

我怎样才能摆脱这个警告?

谢谢

最佳答案

传入结构的地址,而不是它的副本(即不按值传递):

insert_data(1, &variable_of_type_Struct);

关于C 结构到 void* 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10319080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com