Ich bin ein Anfänger C-Programmierer, gestern lernte ich die Verwendung von C-Strukturen und die mögliche Anwendung dieser über die Auflösung von spezifische Probleme. Als ich jedoch mit meiner C IDE (Codeblocks 16.01) experimentierte, um diesen Aspekt der C-Programmierung zu lernen, bin ich auf ein seltsames Problem gestoßen. Der Code ist der folgende:"Fehler: Zuordnung zu Ausdruck mit Array-Typ Fehler", wenn ich ein Struct-Feld (C) zuweisen
#include <stdio.h>
#define N 30
typedef struct{
char name[N];
char surname[N];
int age;
} data;
int main() {
data s1;
s1.name="Paolo";
s1.surname = "Rossi";
s1.age = 19;
getchar();
return 0;
}
Während der Kompilierung der Compiler (GCC 4.9.3-1 unter Windows) berichtet mir einen Fehler, der
"error: assignment to expression with array type error"
auf Anweisung sagt
s1.name="Paolo"
s1.surname="Rossi"
während ich es tue
data s1 = {"Paolo", "Rossi", 19};
es funktioniert. Was mache ich falsch?
Sie haben einen der Unterschiede zwischen Zuweisung und Initialisierung entdeckt. –
Können Sie genauer sein? Danke;) – Chief096
Sie können 's1 = (const Daten) {" Paolo "," Rossi ", 19} schreiben;' –