C++ Zeiger vs. Arrays
Zeiger und Arrays sind eng miteinander verwandt. Tatsächlich sind Zeiger und Arrays in vielen Fällen austauschbar. Beispielsweise kann ein Zeiger auf den Anfang eines Arrays mithilfe von Zeigerarithmetik oder Array-Indizierung auf das Array zugreifen. Betrachten Sie das folgende Programm:
Beispiel
Wenn der obige Code kompiliert und ausgeführt wird, liefert er die folgenden Ergebnisse:
var[0]的内存地址为 0x7fff59707adc var[0] 的值为 10 var[1]的内存地址为 0x7fff59707ae0 var[1] 的值为 100 var[2]的内存地址为 0x7fff59707ae4 var[2] 的值为 200
Zeiger und Arrays sind jedoch nicht vollständig austauschbar. Betrachten Sie beispielsweise das folgende Programm:
Beispiel
:
Da ein Array-Name einer Zeigerkonstante entspricht, können zeigerförmige Ausdrücke weiterhin verwendet werden, solange der Wert des Arrays nicht geändert wird. Zum Beispiel ist die folgende Anweisung gültig und weist var den Wert 500 zu
*(var + 2) = 500;
Die obige Anweisung ist gültig und lässt sich erfolgreich kompilieren, weil var nicht geändert wurde.
Weitere Erweiterungen