双指针将 char 数组值分配给 char 数组,of structure using char pointer
Double pointer assigning char array value to char array, of structure using char pointer
我有这个函数,我试图在其中为结构的成员赋值。
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);
结构成员类型Data
的错误消息(在(*Head)->Data=*(Data);
中是数组,您正在为其分配一个char值。
由于您传递了 name,您最想使用的是 strcpy()
:
strcpy((*Head)->Data, Data);
或者,如果您只想存储一个字符,则需要将结构中 Data
的类型从 char[N]
.
更改为 char
我有这个函数,我试图在其中为结构的成员赋值。
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);
结构成员类型Data
的错误消息(在(*Head)->Data=*(Data);
中是数组,您正在为其分配一个char值。
由于您传递了 name,您最想使用的是 strcpy()
:
strcpy((*Head)->Data, Data);
或者,如果您只想存储一个字符,则需要将结构中 Data
的类型从 char[N]
.
char