我有这个功能,我试图将值分配给结构的成员。
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);
答案 0 :(得分:1)
结构成员Data
的类型的错误消息(在(*Head)->Data=*(Data);
中是数组,并且您正在为其分配char值。
由于您传递名称,您最有可能想要使用的是strcpy()
:
strcpy((*Head)->Data, Data);
或者,如果您只想存储一个字符,则需要将结构中Data
的类型从char
更改为char[N]
。