danke für die formatierung
>> Das kann schon mal nicht stimmen.
ja eben, ich stehe irgendwie auf dem schlauch. auch mit 'char
*(*AlleListen[])' ging's nicht. nun, wie soll ich das machen mit
typedefst?
und wie ginge es, wenn ich funktion2 auch nur eine eindimensinales array
übergeben möchte aber nur 'AlleListen[]' habe, z.b. AlleListen[2]
übergeben mlchte?
danke!
Der ganze Ansatz kann so nicht funktionieren, weil du in AlleListen
keine Möglichkeit mehr hast, die tatsächlichen Längen der einzelnen
Teilarrays festzustellen. Du brauchst also eine Zwischenstruktur, mit
der du diese Information ergänzen kannst.
ich dachte, da es 'const' sind, kann sich der compiler zur
compilier-zeit die adressen berechnen. Danke für den code und den link,
da werde ich wohl noch etwas nacht-lektüre haben...
Master Snowman schrieb:> ich dachte, da es 'const' sind, kann sich der compiler zur> compilier-zeit die adressen berechnen.
Die Adressen: ja
Aber wieviele sind es denn pro Subliste? 2, 3, oder 4?
Mein Rat:
Laß lieber die Finger auf solche Konstrukte wie Zeiger auf Zeiger auf
sonstwas.
Denk dir lieber eine ganz andere Strategie aus. C hat keine
mehrdimensinalen Felder, das sollte man sich ganz dick hinter die Ohren
schreiben und beherzigen. Jeder Versuch, sich mit sowas wie
MyBlabla[x][y}[z] zu behelfen, läuft auf etwas hinaus, daß der naive
Programmierer SO nie beabsichtigt hatte.
Mein Vorschlag: Arbeite mit einer Art Handle und laß dir den zugehörigen
Text von einem Unterprogramm liefern. Mehr Code als für das mehrfache
Dereferenzieren braucht das auch bloß nicht.
Ich hab das bei meinen Geräten etwa so gemacht:
#define txt_KlappeAuf 1
#define txt_KlappeZu 2
#define txt_FensterAuf 3
.. usw.
char* GetText (int handle, int language)
{...
}
W.S.