Ahhh, mein Fehler, ich habe nicht genau geschaut, wie du das aufrufst.
void eingeben(int n, kunDB_t *feld) { //n startet bei 0, wird vor jedem Aufruf um 1 erhöht
int num, plz;
char name[64], ort[64];
scanf("%d %s %d %s",&num,&name,&plz,&ort);
feld[n].num = num;
feld[n].name = malloc(sizeof(name));
strcpy(feld[n].name, name);
feld[n].plz = plz;
feld[n].ort = malloc(sizeof(ort));
strcpy(feld[n].ort, ort);
}
void ausgeben(kunDB_t *feld) {
int i; //<< good old C style!!! :D
for(i = 0; feld[i].name != NULL; i++) { //solange durchlaufen, bis ein Feld.name "leer"/NULL ist.
printf("\nKundenzaehler.. %d\n",i);
printf("Kundenummer.... %d\n",feld[i].num);
printf("Name........... %s\n",feld[i].name);
printf("Postleitzahl... %d\n",feld[i].plz);
printf("Wohnort........ %s\n",feld[i].ort);
}
}
Alles anzeigen
Da du in deinem struct nur einen Pointer hast, musst du mit Malloc erstmal Speicher reservieren und kannst dann erst darauf schreiben.
Und du darfst kein [] im Parameter haben.
So sollte es gehen 