Pointer-Wirrwar
-
Nun ja, Pointer sind ja immer so eine Sache, und ich blicke absolut nicht durch.
Mein Problem ist die Reihenfolge, mit der ich auf jede Dimension eines Arrays zugreifen kann.Beispiel:
CHAR (1)* (2)* (3)* Array; Array[(?)][(?)][(?)] = 0; (?)* Array[(?)][(?)] = 0; (?)* (?)* Array[(?)] = 0;
Sieht schon so kompliziert aus
Ich hoffe, dass es hier ein paar Pointer-Master gibt, die da voll den Durchblick haben
-
Tico schrieb:
Mein Problem ist die Reihenfolge, mit der ich auf jede Dimension eines Arrays zugreifen kann.
das liesst sich von rechts nach links also
beispiel: array[1][2][3]
vierter pointer auf dritten pointer auf zweites element des arrays
-
char Array[1][2][3]; Array[1][1][1] = 'a';//zugriff auf die 3. ebene Array[1][1] = 0//zugriff auf die 2. ebene Array[1] = 0;//zugriff auf die erste ebene
hoff, ich hab dich richtig verstanden^^
//edit arrgh 3 sekunden zu spät
-
otze schrieb:
char Array[1][2][3]; Array[1][1][1] = 'a';//zugriff auf die 3. ebene Array[1][1] = 0//zugriff auf die 2. ebene Array[1] = 0;//zugriff auf die erste ebene
Was soll das sein?
Mittels array[1][1] greifst auf ein Feld von 3 Elementen. Eine Zuweisung wird hier niemals klappen. Dein Beispiel ist also Mist:
a[0][1][1] = 0; a[0][1][0] = 0; //*a[1][1] a[0][0][0] = 0; //**a[1]
a[1] ist sogar ein ungültiges Element, das auf das Ende hinter letztem Element zeigt.
-
Besser noch eine Info:
Also die Zahlen in den Klammern sollen die Pointer (*) in ihrer Reihenfolge durchnummerieren. Die Fragezeichen in den Klammern sollen jetzt mit der entpsrechenden Pointer-Nummer ausgefüllt werden. Damit wäre die Zugriffsfrage ja schon geklärt. Hoffe ich zumindest.
-
http://www.cpp-tutor.de/cpp/le06/le06_01.htm#mehrdim
http://www.cpp-tutor.de/cpp/le06/images/2dfeld.gif
-
Danke für eure Hilfe Leute
Problem ist gelöst