【发布时间】:2015-10-26 16:49:20
【问题描述】:
我有这个函数,我试图将值分配给结构的成员。
void Add(NodeDef **Head, char *Data){
ptrHead=(struct Node **)malloc(sizeof(struct Node));
(*Head)->Data=*(Data);
(*Head)->NextNode=NULL;
}
我这样称呼这个函数
for (i = 0; i < 5; i++)
AddToLinkedList( &Head, iData[i].name);
iData 是一个将数据存储为字符串 (char iData[50]) 的结构的成员。
现在我收到类似
的错误error: assignment to expression with array type
(*Head)->Data=*(Data);
【问题讨论】:
-
请see why not to cast
malloc()和C中的family返回值。 -
你能出示
iData[]的声明吗?我的猜测是您想将iData[i].name中的字符串复制到(*Head)->Data,但这不是您复制字符串的方式。 -
可以用什么替代
malloc()?
标签: c arrays pointers struct singly-linked-list