Zum Inhalt, überspringe Kopfzeile Zur Navigation, überspringe Kopfzeile
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: }
Zum Inhalt zurück, überspringe Navigation | Zum Seitenanfang