# Union verwenden

📆 **Fällig: ----** 📆 [Musterlösung](solution/)

Schreiben Sie ein Programm, das eine Union verwendet, um entweder eine ganze Zahl oder eine Gleitkommazahl zu speichern.

Erstellen Sie eine Union mit dem Namen `number_t`, die die folgenden Mitglieder enthält:

  * `ganzzahl` (ganze Zahl)
  * `gleitkommazahl` (Fließkommazahl)

Definieren Sie eine `enum` namens `number_type`, mit den Elementen `GANZZAHL` und `GLEITKOMMAZAHL`.

Schreiben Sie eine Funktion namens `print_number`, die ein `number_t` und einen Parameter vom Typ `number_type` erhält, der den gewählten Datentyp angibt. Die Funktion soll den Inhalt der Union je nach gewähltem Datentyp auf der Konsole ausgeben.

Schreiben Sie eine `main`-Funktion, in der Sie eine Variable vom Typ `number_t` erstellen und einige Beispieldaten in die Union speichern. Rufen Sie dann die Funktion `print_number` auf und übergeben Sie das Union-Mitglied und den gewählten Datentyp, um den Inhalt der Union anzuzeigen.


## Quellen

  * [Skript](https://smits-net.de/files/c/html/) zur Vorlesung
  * [C-Tutorial](https://www.learn-c.org/)
  * [C von A bis Z](https://openbook.rheinwerk-verlag.de/c_von_a_bis_z/)