C++ Zeiger auf ein Array

C++ Arrays

Sie können dieses Kapitel vorerst überspringen und später zu seinem Inhalt zurückkehren, nachdem Sie das Konzept der C++-Zeiger verstanden haben.

Wenn Sie bereits ein gewisses Verständnis von C++-Zeigern haben, können Sie mit dem Studium dieses Kapitels beginnen. Der Array-Name ist ein konstanter Zeiger auf das erste Element im Array. Daher gilt in der folgenden Deklaration:

double exampleAarray[50];

exampleAarrayist ein Zeiger auf &exampleAarray;pweisen SieexampleAarraydie Adresse des ersten Elements zu:

double *p;
double exampleAarray[10];

p = exampleAarray;

.

Sobald Sie die Adresse des ersten Elements in p gespeichert haben, können Sie *p, *(p+1), *(p+2) usw. verwenden, um auf Array-Elemente zuzugreifen. Das folgende Beispiel demonstriert diese oben besprochenen Konzepte:

Beispiel

#include <iostream> using namespace std; int main () { // double-Array mit 5 Elementen double exampleAarray[5] = {1000.0, 2.0, 3.4, 17.0, 50.0}; double *p; p = exampleAarray; // Wert jedes Elements im Array ausgeben cout << "Array-Werte mit Zeigern" << endl; for ( int i = 0; i < 5; i++ ) { cout << "*(p + " << i << ") : "; cout << *(p + i) << endl; } cout << "Verwenden Sie exampleAarray als die Adresse des Array-Werts" << endl; for ( int i = 0; i < 5; i++ ) { cout << "*(exampleAarray + " << i << ") : "; cout << *(exampleAarray + i) << endl; } return 0; }

Wenn der obige Code kompiliert und ausgeführt wird, liefert er die folgenden Ergebnisse:

使用指针的数组值 
*(p + 0) : 1000
*(p + 1) : 2
*(p + 2) : 3.4
*(p + 3) : 17
*(p + 4) : 50
使用 exampleAarray 作为地址的数组值 
*(exampleAarray + 0) : 1000
*(exampleAarray + 1) : 2
*(exampleAarray + 2) : 3.4
*(exampleAarray + 3) : 17
*(exampleAarray + 4) : 50

Im obigen Beispiel ist p ein Zeiger auf double, was bedeutet, dass er eine Variable vom Typ double speichern kann. Sobald wir die Adresse in p haben,*pgibt den an der entsprechenden Adresse in p gespeicherten Wert zurück, wie im obigen Beispiel gezeigt.

C++ Arrays

Weitere Erweiterungen