Ich versuche, mein Array von Strukturen zu bekommen, um alle itemnumber Elemente zu drucken, die darin gespeichert sind. Allerdings kann ich die Länge des Arrays (Anzahl der Elemente im Array) nicht im Voraus wissen. Ich habe versucht, sizeof/sizeof(arr[0])
zu verwenden, aber es funktioniert nicht. Schätzen Sie jede Hilfe, wie dies getan werden kann, so dass ich alle Werte der itemnumbers
in meinem Struct-Array drucken kann.C - Funktion zum Anzeigen von Werten eines Strukturarrays
Code: In meinem Haupt:
struct item beer[100]; // gets values from a text file
Call to function: displayAll(beer);
In meinem struct:
void displayAll(struct item beers[]) {
int i;
for(i = 0; i < sizeof(beers); i++) {
printf("%d\n", beers[i].itemnumber); // Want it to print all of the values
}
}
debug was 'sizeof (Biere)' zurückgibt - Hinweis: es ist nicht, was Sie denken, es tut –
Nun können Sie das nicht tun - weil Array, wenn übergeben, um in Zeiger zu zerfallen das erste Element. Sie werden also den Operator "sizeof" nicht auf das Array anwenden, sondern auf den verfallenen Zeiger, was zu einem falschen Ergebnis führt. – coderredoc