Stefans Wiki



Pointer als Parameter

main.cpp

 1: /**
 2:  * Projekt: Pointer als Parameter
 3:  *
 4:  * @author Stefan Jahn
 5:  * @version 20070318
 6:  * @date 18.03.2007
 7:  *
 8:  * @file main.cpp
 9:  */
10:
11: #include <iostream>
12: using namespace std;
13:
14:
15: /**
16:  * Zwei Werte vertauschen
17:  *
18:  * @param int *p1 Wert 1
19:  * @param int *p2 Wert 2
20:  */
21: void swap(int *p1, int *p2) {
22:     // Funktion macht keinen Rückgabewert. Die Pointer enthalten die Adresse
23:     // der übergebenen Parameter und zeigen somit auf diese Variabeln. Somit
24:     // wirkt sich jede Änderung an den Werten der Pointer auch auf die
25:     // Variabeln ausserhalb der Funktion aus.
26:     int temp = *p1;
27:     *p1 = *p2;
28:     *p2 = temp;
29: }
30:
31:
32: /**
33:  * main-Funktion
34:  */
35: int main (int argc, char const *argv[]) {
36:     cout << "Pointer als Parameter:" << endl;
37:     cout << "======================" << endl;
38:
39:     // Variabeln
40:     int a = 10;
41:     int b = 20;
42:
43:     cout << "Wert von a = " << a << endl;
44:     cout << "Wert von b = " << b << endl;
45:     cout << endl;
46:
47:     cout << "Rufe swap(&a, &b) auf." << endl;
48:     cout << endl;
49:
50:     // Die zwei Variabeln werden mit dem Derefernzierungsoperator als
51:     // Parameter angegeben. Dabei wird nicht der Wert an die Funktion
52:     // übergeben sondern die Adresse.
53:     swap(&a, &b);
54:
55:     cout << "Wert von a = " << a << endl;
56:     cout << "Wert von b = " << b << endl;
57:     cout << endl;
58:
59:     return 0;
60: }
cpp/kurzerklaerungen_und_grundlagen/pointer_als_parameter.txt · Zuletzt geändert: 12.07.2011 12:13 (Externe Bearbeitung)
Quelle: http://stefanjahn.de/cpp:kurzerklaerungen_und_grundlagen:pointer_als_parameter?s%5B%5D=using
Webseite: http://stefanjahn.de