37 lines
1.7 KiB
Markdown
37 lines
1.7 KiB
Markdown
|
# Dynamische Speicherverwaltung mit malloc und free
|
||
|
|
||
|
📆 **Fällig: ----** 📆 [Musterlösung](solution/)
|
||
|
|
||
|
Schreiben Sie ein C-Programm, das die Funktionen `malloc` und `free` zur dynamischen Speicherallokation und -freigabe verwendet. Das Programm soll ein dynamisches Array von ganzen Zahlen erstellen.
|
||
|
|
||
|
Schreiben Sie eine Funktion namens `create_array`, die einen Parameter erhält, der die Größe des Arrays angibt. Die Funktion soll dynamisch Speicher für das Array reservieren und die Adresse des reservierten Speichers zurückgeben.
|
||
|
|
||
|
Schreiben Sie eine Funktion namens `print_array`, die Elemente des Arrays auf der Konsole ausgibt.
|
||
|
|
||
|
Schreiben Sie eine Funktion namens `free_array`, welche den Speicher freigibt, der für das Array reserviert wurde.
|
||
|
|
||
|
In der `main`-Funktion soll die Funktion `create_array` aufgerufen werden, um ein dynamisches Array mit einer vom Benutzer eingegebenen Größe zu erstellen. Anschließend sollen einige Beispieldaten abgefragt und in das Array geschrieben werden. Die Funktion `print_array` soll aufgerufen werden, um die Elemente des Arrays anzuzeigen. Zum Schluss soll die Funktion `free_array` aufgerufen werden, um den reservierten Speicher freizugeben.
|
||
|
|
||
|
Eine beispielhafter Programmablauf könnte wie folgt aussehen:
|
||
|
|
||
|
```console
|
||
|
Geben Sie die Größe des Arrays ein: 4
|
||
|
Geben Sie die Elemente des Arrays ein:
|
||
|
Element 0: 10
|
||
|
Element 1: 11
|
||
|
Element 2: 12
|
||
|
Element 3: 13
|
||
|
|
||
|
Das Array enthält folgende Elemente:
|
||
|
Element 0: 10
|
||
|
Element 1: 11
|
||
|
Element 2: 12
|
||
|
Element 3: 13
|
||
|
```
|
||
|
|
||
|
|
||
|
## Quellen
|
||
|
|
||
|
* [Skript](https://smits-net.de/files/pr3_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/)
|