C++ Zeiger an Funktionen übergeben
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.4Weitere Erweiterungen