# 4. Memory

Quelle: https://inf.zone/lectures/4-memory/

Pointer. Segmentation Faults. Dynamische Speicherzuweisung. Stack. Heap. Pufferüberlauf. Datei-I/O. Bilder.

## Video

*Das Video ist noch nicht verfügbar. Die Aufzeichnung steht ein bis zwei Wochen nach der Vorlesung hier.*

## Zugehörige Inhalte

### Shorts

Die Shorts vertiefen einzelne Themen der Vorlesung. Schauen Sie sie gezielt dort an, wo Sie bei einer Übungsaufgabe nicht weiterkommen, und programmieren Sie die Beispiele darin nach. „Die drei Extra-Minuten“ am Ende gehen meist über die Basis hinaus (Kür); was davon zur Basis gehört, steht auf der Seite des Shorts.

- [4.1 Hexadezimal](https://inf.zone/lectures/4-memory/short-4-1-hexadezimal/) (10 min): Hexadezimalsystem: Stellenwerte, Umrechnen zwischen binär, dezimal und hexadezimal, Nibble, 0x-Präfix, Speicheradressen, RGB-Farben, Base26
- [4.2 Pointer](https://inf.zone/lectures/4-memory/short-4-2-pointer/) (17 min): Pointer: Speicher als Byte-Array, Adressen, & und *, Dereferenzieren, NULL-Pointer, Arrays als Pointer, Pointerarithmetik, Adressvergleich bei Strings
- [4.3 Eigene Datentypen](https://inf.zone/lectures/4-memory/short-4-3-eigene-typen/) (10 min): typedef für Aliasnamen, struct mit Feldern und Punkt-Zugriff, Kurzschreibweise typedef struct, string oder char-Array in Strukturen
- [4.4 Dynamischer Speicher](https://inf.zone/lectures/4-memory/short-4-4-dynamischer-speicher/) (16 min): Dynamische Speicherverwaltung: Heap und Stack, Speicher-Layout, malloc und free, Memory Leak, drei goldene Regeln, size_t
- [4.5 Call Stack](https://inf.zone/lectures/4-memory/short-4-5-call-stack/) (8 min): Call Stack: Stack Frames beim Funktionsaufruf, push und pop, aktiver Frame, rekursive Aufrufe am Beispiel der Fakultät
- [4.6 File Pointer](https://inf.zone/lectures/4-memory/short-4-6-file-pointer/) (16 min): Dateien in C über FILE*: fopen, fclose, fgetc, fputc, fread, fwrite, Modi r, w, a, Prüfung auf NULL, weitere Funktionen wie fprintf und fseek

### Übung

- [Übung 5](https://inf.zone/exercises/05)
