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
}