C 使用另一个字符数组设置结构中的字符数组
我有一个结构:C 使用另一个字符数组设置结构中的字符数组,c,methods,struct,char,arrays,C,Methods,Struct,Char,Arrays,我有一个结构: struct person { char firstname[]; }; 方法是: void abcde (person* a, char firstchar[]) { a->firstname = firstchar; } gcc提出了以下观点: 将char*”赋值给char[0u]时的类型不兼容 如何解决这个问题? 谢谢你的帮助 不能分配给数组。您需要一个指针,或者将一个指针的内容复制到另一个指针中 struct person { char*
struct person {
char firstname[];
};
方法是:
void abcde (person* a, char firstchar[]) {
a->firstname = firstchar;
}
gcc提出了以下观点:
将char*”赋值给char[0u]时的类型不兼容
如何解决这个问题?
谢谢你的帮助 不能分配给数组。您需要一个指针,或者将一个指针的内容复制到另一个指针中
struct person {
char* firstname;
};
void abcde (person* a, char firstchar[]) {
a->firstname = firstchar;
}
函数参数中的firstchar
是指针,而不是数组![]
只是一种语法上的方便。charfirstname[]的情况并非如此
,它是一个数组。是否应该将struct person*a
作为形式参数?你缺少了结构> /COM>。