我有结构:
struct person {
char firstname[];
};
方法:
void abcde (person* a, char firstchar[]) {
a->firstname = firstchar;
}
gcc抛出这个:
的分配中不兼容的类型
char*' to
char [0u]'
如何解决这个问题? 谢谢你的帮助!
答案 0 :(得分:2)
您无法分配数组。你想要一个指针,或者将一个内容复制到另一个。
struct person {
char* firstname;
};
void abcde (person* a, char firstchar[]) {
a->firstname = firstchar;
}
函数参数中的 firstchar
是指针,而不是数组! []
仅仅是一种语法上的便利。对于char firstname[];
,这不是一个数组。