Ich versuche, ein Programm zu schreiben, das die Informationen von Studenten sammelt. Ich verwende eine Reihe von Studenten (structs)Warum funktioniert die Zuweisung von Wert zu Array-Struktur nicht C
typedef struct {
char name[50];
struct Course* course;
}Student;
und in meinem main() Ich habe diese
Student* stds = (Student*) malloc(app.std_cnt * sizeof(*stds));
getStdData(stds);
hier ist die getStdData Funktion
void getStdData(struct Student *students){
int i;
char name[50];
Student std;
printf("\n");
for(i = 0; i < app.std_cnt; i++){
printf("std [%i] name : ",i+1);
scanf("%s",&name);
strcpy(std.name,name);
students[i] = std;
}
}
wenn ich kompilieren bekomme ich
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23026 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
gpa.c
gpa.c(124): error C2440: '=': cannot convert from 'Student' to 'Student'
kann mir jemand sagen, was t ich mache falsch? und warum ist es über eine Konvertierung von Student zu Student zu beklagen? Sind sie nicht vom selben Typ?
Mögliche Duplikate: [Unterschied zwischen 'struct' und 'typedef struct' in C?] (Http://stackoverflow.com/questions/612328/difference-between-struct-and-typedef-struct-in-c) – paulsm4