C++ Zeiger an Funktionen übergeben

C++ Zeiger

C++ ermöglicht es Ihnen, Zeiger an Funktionen zu übergeben, indem Sie die Funktionsparameter einfach als Zeigertypen deklarieren.

Im folgenden Beispiel übergeben wir einen Zeiger auf ein unsigned long an die Funktion und ändern diesen Wert innerhalb der Funktion:

Beispiel

#include <iostream> #include <ctime> using namespace std; // Wenn man Funktionen schreibt, ist es eine gute Angewohnheit, die Funktion zuerst zu deklarieren und sie dann zu definieren void getSeconds(unsigned long *par); int main () { unsigned long sec; getSeconds( &sec ); // Den tatsächlichen Wert ausgeben cout << "Anzahl der Sekunden :" << sec << endl; return 0; } void getSeconds(unsigned long *par) { // Die aktuellen Sekunden abrufen *par = time( NULL ); return; }

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

Number of seconds :1294450468

Funktionen, die Zeiger als Parameter akzeptieren können, können auch Arrays als Parameter akzeptieren, wie unten gezeigt:

Beispiel

#include <iostream> using namespace std; // Funktionsdeklaration double getAverage(int *arr, int size); int main () { // Ein Integer-Array mit 5 Elementen int balance[5] = {1000, 2, 3, 17, 50}; double avg; // Einen Zeiger auf ein Array als Argument übergeben avg = getAverage( balance, 5 ) ; // Rückgabewert ausgeben cout << "Durchschnittswert ist: " << avg << endl; return 0; } double getAverage(int *arr, int size) { int i, sum = 0; double avg; for (i = 0; i < size; ++i) { sum += arr[i]; } avg = double(sum) / size; return avg; }

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

Average value is: 214.4

C++ Zeiger

Weitere Erweiterungen