ja wie schon die überschrift sagt habe ich einige Fragen zum obengenannten Kapitel und zwar geht es um den code im Unterkapitel Arrays von Zeigern.
Dort wird ja zunächst wenn ich das richtig verstehe ein array von zeigern vom Typ char, der größe 3, deklariert. Also kann ich dort 3 zeiger speichern die auf ein auf eine variable vom typ char zeigen.
Code: Alles auswählen
char * playField[3];
Code: Alles auswählen
for( x = 0; x < 3; ++x )
playField[x] = (char*) malloc(3);
1. warum steht in nachfolgenden text das der array 24 bytes groß sein soll? Dort wird gesagt das man 3 adressen mit je 8 bytes hat aber man hat doch 3 adressen mit je 3 bytes Freigelgegt, somit müsste das array doch 9 bytes groß sein oder nicht? (habe es auf einem 64-bit system ausprobiert)
Das komische ist auch noch, dass wenn ich diesen code compiliere und ausführe, keine 24 oder 9 bytes als ausgabe bekomme sonder 12 bytes was ich dann garnicht einordnen kann.
2. ich habe ja eine eindimensionales array playField definiert warum kann ich dann auf über eine "zweidimensionalen" zugriff werte in die gespeichert adressen übergeben?
Code: Alles auswählen
playField[x][y] = ' ';
Hoffe könnt einbischen licht ins dinkel bringen.
Viel Grüße
Ramnad