21.11.2018 – Funktionen und Zeiger
Aufgabe 1
Wir bauen eine swap-Funktion:
- 2 Variablen x und y werden in main() deklariert und mit einem Wert definiert
- optional: ausgeben
- eine Funktion swap mit Datentyp void erwartet 2 Übergabeparameter vom Typ Adresse auf int (Zeiger oder Referenz)
- die Funktion tauscht die übergebenen Werte a und b
- in main werden die Adressen (&-Operator vor Variablen) von x und y an swap übergeben
- x und y in main ausgeben
Die Werte von x und y sollen nun 'in Echt' getauscht sein.
#include <iostream>
using namespace std;
// ********************************
// Deklaration
// ********************************
void swap(int*, int*); // keine Rueckgabe, 2 uebergeb. int-Zeiger
// ********************************
// Hauptfunktion
// ********************************
int main()
{
int x = 0, y = 15; // Variablen x und y deklarieren und definieren
cout << "vorher: " // optional: x und y ausgeben
<< x
<< " "
<< y
<< endl;
// Adressen von x und y an swap uebergeben
cout << "nachher: "
<< x
<< " "
<< y
<< endl;
return 0;
}
// ********************************
// Definition
// ********************************
/*?*/ swap(/*?*/) // swap erwartet Zeiger auf int
{
// eine tmp-Variable deklarieren
// uebergebene Variablen (eigentlich: deref.Zeiger) mit Hilfe von tmp tauschen
}