我想爲struct,mallocs的內存,並設置字段的指針作出結構的構造函數。但是,當我打印我相信我已經設置的內容時,我看到這些字段是空的。我也使用C99結構指針設置值
void init_student(struct student* student, char* name, int id, float gpa) {
student = (struct student*) malloc(sizeof(struct student));
student->name = name;
student->id = id;
student->gpa = gpa;
}
您正在覆蓋'student',而不是修改它。 –
這是不夠的代碼來知道你在做什麼。你給這個函數的參數是什麼?你如何使用我返回的結構?最好使[mcve] –