Grundlagen der Programmiersprache C
int habe 4 Byte und ein Zeiger 8 Byte. Ein Zeiger p auf int hat den Wert (die Adresse) 0x1000. Welchen Wert hat p + 3?
- A0x100C
- B0x1012
- C0x1018
Antwort und Erläuterung anzeigen
Antwort: A. 0x100C
Addiert man eine Ganzzahl zu einem Zeiger, bewegt er sich in Einheiten der Größe des Typs, auf den er zeigt. int hat 4 Byte, daher zeigt p + 3 auf die Stelle 3 × 4 = 12 Byte weiter, also 0x1000 + 0xC = 0x100C. p + 3 ist die Adresse des Array-Elements p[3], und *(p + 3) bedeutet dasselbe wie p[3]. Ein Zeiger auf char bewegt sich in Schritten von 1 Byte, ein Zeiger auf double (8 Byte) in Schritten von 8 Byte.
Weiter: 9 weitere Fragen zu Grundlagen der Programmiersprache C