Hallo,
ich habe ein kleines Problem, das ich nicht behoben bekomme, vielleicht ist jemand so freundlich und hilft mir auf die Sprünge.
Kurz zusammengefasst: ich habe in der main-Funktion ein Struktur-Arrray definiert, rufe dann eine andere Funktion auf, der ich eben jenes als Parameter übergebe. Dort wird es dann mit Werten gefüllt und eine weitere Funktion kümmert sich darum, dass diese ausgegeben werden.
Also im Prinzip:
PHP-Code:
#define ANZAHL 5 /*Anzahl der Strukturen*/
void funktion1(struct structarray s[ANZAHL], int z1, int z2);
void funktion2(int m, int n);
void funktion1(struct structarray s[ANZAHL], int z1, int z2) {
int i;
for(i=0; i<ANZAHL; i++) {
s[i].x = z1+i;
s[i].y = z2+i;
funktion2(s[i].x, s[i].y);
}
}
void funktion2(int m, int n) {
printf("%d\t%d\n", m, n);
}
int main(void) {
struct structarray {
int x;
int y;
}strukturen[ANZAHL];
int zahl1 = 100;
int zahl2 = 200;
funktion1(strukturen, zahl1, zahl2);
return EXIT_SUCCESS;
}
Das ist jetzt nicht mein eigentlicher Quelltext sondern irgendwas Sinnloses, was ich mir kurz ausgedacht habe, was aber vom Muster her genau das wiedergibt, was mir Probleme bereitet. Im Netz finde ich nur Beispiele, wo ein struct global definiert ist (was ja eigentlich eine Todsünde ist, wie ich gelernt habe^^) und da scheint das so ähnlich zu funktionieren aber hier bekomme ich Fehler a la 'array type has incomplete element type' und 'type of formal parameter 1 is incomplete' und ich bin wohl zu doof, die zu interpretieren

Laut meinem Tutor sollte ich ein struct-array genauso übergeben können wie jedes andere array (via call-by-value)... naja, ich stehe halt auf dem Schlauch.
Danke für eure Tips!