Struct Array als Parameter [C]
Sowas ähnliches hat es hier schonmal gegeben, konnte mir aber leider nicht weiterhelfen. Mein Problem ist folgendes.
Über eine externe Funktionion, die vorgegeben ist, werden Datensätze aus einer Dateigeladen.
Die die laden() Funktion nimmt dabei einen struct Array entgegen der gefüllt wird, und liefert die Anzahl der Datensätze zurück. Ich hab leider ein Problem mit der Übergabe des Arrays aus dem Hauptprogramm, und bekomme immer eine Parse Error beim kompilieren. Die entsprechende Zeilen meine Programmcodes sehen folgendermaßen aus:
Code:
#include <stdio.h>
#include "laden.h"
struct GebEintrag {
char Vorname[21];
char Nachname[21];
int Jahr;
unsigned short Monat;
unsigned short Tag;
}; /* Die Struktur eines Datensatzes. (Entspricht der selben Strukur, wie auch in der laden.c angegeben) */
int main() {
struct GebEintrag EintragsArray[10]; /* Dies soll halt der Struct Array sein, und soll 10 Datensätze aufnehmen können */
int EintragsAnzahl;
printf("Lade Daten...\n");
EintragsAnzahl = laden(struct GebEintrag EintragsArray); /* Hier ist der Knackpunkt. Nach meiner Ansicht nach, sollte es so richtig sein, aber der Compiler (gcc) meckert das an. */
printf("Es wurden %i Datensätze geladen.\n",EintragsAnzahl);
return 0;
}
Kompiliert hab ich mit "gcc GebEintrag.c laden.c"; die Ausgabe des Compiler ist:
GebEintrag.c: In function `main':
GebEintrag.c:16: parse error before "struct"