我正在尝试使用 void 指针传递数据,然后将其转换为 (pData *) 类型。我究竟做错了什么?gcc 给了我
gcc test.c 错误:请求成员“文件名”不是结构或联合
typedef struct data {
char *filename;
int a;
} pData;
void mod_struct(void *data) {
printf("%s\n",(pData *)data->filename); //error on this line
}
void main() {
pData *data;
data = (pData *) malloc(sizeof(pData));
data->filename = (char *)malloc(100);
strcpy(data->filename,"testing testing");
data->a=1;
mod_struct((void *)&data);
}