Adressen von array Elementen nicht richtig?
-
Hallo!
Ich habe ein Problem mit meinem Array, welchen ich mit Elementen von einer Struktur fülle. Also so ungefähr:
typedef struct { int a; int b; } numbers;
numbers all[5]; numbers one = {2,4}; numbers two = {22,5}; numbers three = {21,14}; numbers four = {3,45}; numbers five = {3,45}; all[0] = one; all[1] = two; all[2] = three; all[3] = four; all[4] = five;
Wenn ich mir jetzt aber die Adressen von allen Elementen von all ausgeben lasse, sieht das in meinem Beispiel so aus:
0x7fff4fe11950
0x7fff4fe11958
0x7fff4fe11960
0x7fff4fe11968
0x7fff4fe11970Was ich überhaupt nicht verstehe. Da die größe ja 8 Bytes beträgt, müsste dann nicht die Adresse auch immer um 8 Bytes verschoben werden??
-
tinchi schrieb:
0x7fff4fe11950
0x7fff4fe11958
0x7fff4fe11960
0x7fff4fe11968
0x7fff4fe11970Was ich überhaupt nicht verstehe. Da die größe ja 8 Bytes beträgt, müsste dann nicht die Adresse auch immer um 8 Bytes verschoben werden??
Sind sie doch.
Bedenke, dass die Angabe im Hexadezimalformat ist. Da hast du 16 Ziffern.
Und der Abstand von 8 bis 10 ist 8. Da kommen noch 9 A B C D E F dazwischen.