-6
下面是代碼:原始代碼和修改代碼有什麼區別?
typedef struct
{
char name[128];
int salary;
} Employee;
Employee *input_employee()
{
Employee *e = (Employee*)malloc(sizeof(Employee));
scanf("%[^/]s" , e.name);
return e;
}
被稱爲在main()
,並給出一個編譯錯誤,但是,經過輔修input_employee()
功能,即改變:
e.name;
改爲e->name;
它編譯沒有錯誤。
糾正的含義是什麼,最初的錯誤是什麼?
@SouravGhosh結構不是標量類型。 – 2501
...你也不需要在C中使用'malloc'。這不是好的做法 –
'e-> name'是'(* e).name'的縮寫。如果'e'是'Empolyee'類型,則使用'e.name'。如果'e'的類型爲'Employee *',則可以使用'e-> name'或'(* e).name'(因爲'* e'是'Employee'類型的)。 –