struct frage
-
Hey Leute
hab dieses Stückchen code auf meinem Rechner gefunden und hätt eine Frage hierzu:#include <stdio.h> #include <stdlib.h> #include <conio.h> #define MAX 30 struct adres { char vname[MAX]; char nname[MAX]; long PLZ; char ort[MAX]; int geburtsjahr; } adressen; void ausgabe(struct adres x) { /* warum verwende ich hier adres x. X ist nirgendwo deklariert und wenn ich x weglass krieg ich eine Fehlermeldung könnt ich eigentlich auch x oben bei der struct adres deklarien und dann void ausgabe(x) schreiben? */ printf("\n\nSie gaben ein:\n\n"); printf("Vorname.........:%s", x.vname); printf("Nachname........:%s", x.nname); printf("Postleitzahl....:%ld\n",x.PLZ); printf("Ort.............:%s", x.ort); printf("Geburtsjahr.....:%d\n", x.geburtsjahr); } int main(void) { printf("Vorname : "); fgets(adressen.vname, MAX, stdin); printf("Nachname : "); fgets(adressen.nname, MAX, stdin); printf("Postleitzahl : "); do { scanf("%5ld",&adressen.PLZ); } while(getchar()!= '\n'); printf("Wohnort : "); fgets(adressen.ort, MAX, stdin); printf("Geburtsjahr : "); do { scanf("%4d",&adressen.geburtsjahr); } while(getchar()!='\n' ); ausgabe(adressen); getch(); return EXIT_SUCCESS; }
Wie ihr seht hab ich meine Fragen im code versteckt.
Freu mich scho auf eure Antworten...lg und gute Nacht
piscoster
-
piscoster schrieb:
/* warum verwende ich hier adres x. X ist nirgendwo deklariert und wenn ich x weglass krieg ich eine Fehlermeldung
da wirds ja auch zum erstenmal neu angelegt. irgendwie musste ja eine struct in die funktion reingeben. aber nimm besser einen struct-pointer, sonst wird das argument kopiert, was meistens unnötig ist.