Hallo,
ich habe mal eine Frage zu Datenstrukturen in C.
Und zwar habe ich folgenden (vereinfachten) Aufbau:
1 |
|
2 | struct item {
|
3 | int ID;
|
4 | int value;
|
5 | };
|
6 |
|
7 | struct station {
|
8 | int ID;
|
9 | int numItems; // Anzahl der Items in dieser Station
|
10 | struct item[MAX]; // So gehts ja nicht
|
11 | };
|
Während der Laufzeit soll ein Array der Stationen erzeugt werden.
In jeder station kann eine unterschiedliche Anzahl von Items vorhanden
sein.
Die Anzahl wird aber erst während der Laufzeit festgelegt. Damit
scheidet das
festlegen der Struktur mit item[MAX] ja aus.
Ich würde aber am gerne à la
station[2].item[53].value = 42;
auf meine Werte zugreifen können.
Gibt es da irgendeine elegante Lösung so etwas anzulegen?
Ich hoffe nicht dass eine verkettete Liste die einzige Lösung ist, da
bräuchte ich ja wieder Speicher für die Zeiger in jedem Item.