我在编写一个创建结构并使用作为参数传入的数据填充字段的函数时遇到问题。我对 C 很陌生,所以这对我来说非常具有挑战性。
我创建了一个名为“Employee”的结构,其中包含姓名、出生年份和开始年份。
typedef struct {
char* name;
int birthyear;
int startyear;
} Employee;
对于我创建的函数,我不断收到关于取消引用指向不完整类型的指针的错误。此外,我收到一个错误,因为 sizeof 对不完整类型的 struct Employee 应用无效。
Employee* make_employee(char *name, int birthyear, int startyear) {
struct Employee* newemployee = (struct Employee*)malloc(sizeof(struct Employee));
newemployee->name = name;
newemployee->birthyear = birthyear;
newemployee->startyear = startyear;
return newemployee;
}
我确定我只是犯了非常简单的错误,但非常感谢您的帮助和解释!