Hallo,
dieses mal hab ich ein kleines struct problem.
Ich hab ein struct array angelegt.
struct strInfo strArray[] = {
{...} //Spalte1
{...} //Spalte2
...
};
mit strArray[] kann ich jetzt alle Elemente innerhalb diesem struct Array aufrufen.
Der komplette Inhalt in dieser struct stellt die Spalten einer Tabelle dar. D.h. jede Spalte ist wiederum eine struct - nämlich die struct strInfo.
Jetzt möchte ich gern 10 Reihen anlegen - allerdings möchte ich nicht 10x den Inhalt vom strArray hintereinander hineinkopieren müssen.
struct strInfo \*ptr;
führt natürlich nicht zum Ziel.
struct strInfo TBL[10];
führt natürlich nicht zum Ziel.
Die strInfo struct ist 4x in der strArray struct enthalten, weil die Tabelle 4 spalten hat.
Wenn man einfach strInfo TBL[40] macht, hat man zwar alle Werte vorhanden (für die 10 Zeilen), aber das Problem ist hier, dass ich dann alle strInfo structs zu Beginn initialisieren muss mit den richtigen Werten. -> das kann man leider nicht per for-schleife oder ähnlichem realisieren, da die Werte nach keinem Muster verlaufen.
struct strInfo {
unsigned int \*ID; //ID: Position in Tabelle
unsigned short Length; //ID Länge
unsigned short Access; //zugriff auf Value: lesen, schreiben
unsigned short Type; //Spalten-Typ: z.B. char, string, int
void \*Value; //wert
};
Das fällt bei der strArray-Methode weg, da innerhalb dieser Struct bereits die Werte fest initialisiert sind.
Hat irgend-jemand für mich eine Idee, wie ich das am besten realisieren kann?
- eine Tabelle erstellen, die als Spaltenwerte die struct strArray
besitzt - und 10 Reihen aufweist?
gruß
patrick