PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verständisfrage zu 2 Dimensionalen Arrays



janosch
14-06-2005, 20:51
HI!

Ich bin grad dabei meine c kenntnis auf zufrischen.
Jetzt habe ich in einem Buch Folge Frage gefunden:

Sind die folgenden Anweisungen korrekt?

char *feldA[5][5]: char feldB[5][5];

feldA[0][0]=&feldB;
feldA[1][1]=&feldB[3][3];
*feldA[2][2]=feldB[2][2];
*feldA[1][1]='b';
feldB[4][4]=*feldA[1][1];

So hier versteh ich nicht so ganz welche Anweisung korrekt ist und welche nicht.Vieleicht kann mir ja jemand erklären welche zulässig sind und welche nicht. Im Buch steht keine Lösung drin sonst würd ich hier nicht fragen.

mfg janosch

peschmae
14-06-2005, 21:31
char *feldA[5][5]: char feldB[5][5];

Schon das geht irgendwie nicht. Was macht das : da?

MfG Peschmä

janosch
14-06-2005, 21:33
HI!

Habe mich vertipt das : soll ein ; sein.

Sorry ;)

peschmae
15-06-2005, 06:31
Sind die folgenden Anweisungen korrekt?

char *feldA[5][5]: char feldB[5][5];

feldA[0][0]=&feldB;

Nicht ganz korrekt - funktioniert aber. Nicht korrekt deshalb weil feldB ein 5x5ArrayvonChars als Typ hat und du nun die Adresse von einem 5x5ArrayvonChars an einen Charpointer (den an Position [1][1] in feldA) zuweist. Die Typen sind nicht gleich - der Compiler warnt aber es funktioniert.



feldA[1][1]=&feldB[3][3];

Ok, du tust die Adresse vom Char an Position [3][3] in den Charpointer an Position [1][1]



*feldA[2][2]=feldB[2][2];

feldA[2][2] ist ein Charpointer - *feldA[2][2] der Char wos draufzeigt und dort tust du den Inhalt von feldB[2][2] rein - auch ok.



*feldA[1][1]='b';

Dito nur mit einem Constanten Char und nicht einem Feld von feldB



feldB[4][4]=*feldA[1][1];


Du tust an Position [4][4] den Inhalt von dem Char wo der Pointer an Position [1][1] in feldA hinzeigt hin. Auch ok.

Gut möglich das etwas von dem was ich da oben gesagt habe nciht stimmt übrigens - ist immer etwas heikel so zeugs und manchmal spielen auch die Prioritätenregeln der Operatoren (* vor sonstwas oder so) die Rolle einer fiesen Falle :D

MfG Peschmä