Informatik II: Algorithmen & D
Cheatsheet Content
### Speicher (Grundlagen) #### Adresse & Adressierbarkeit - **Adresse:** Eindeutige numerische Kennung für eine Speicherzelle. - **Kleinste adressierbare Dateneinheit:** Typischerweise **1 Byte** (8 Bit). #### Gültigkeitsbereich (Scope) von Variablen - Definiert, wo im Programm eine Variable sichtbar und nutzbar ist. - **Arten:** - **Global:** Überall im Programm sichtbar (Daten-/BSS-Segment). - **Lokal (Funktions-Scope):** Nur innerhalb der definierenden Funktion sichtbar (Stack). - **Block-Scope:** Nur innerhalb eines umschließenden Code-Blocks sichtbar. #### Lebensdauer von Variablen - **Lokal (automatisch):** Auf dem **Stack**, existiert nur während der Ausführung ihrer Funktion. Wird danach freigegeben. - **Statisch lokal:** Im **Daten-/BSS-Segment**, behält Wert über Funktionsaufrufe hinweg, existiert Programm-weit. Ihre Initialisierung erfolgt nur einmal bei Programmstart. - **Global:** Im **Daten-/BSS-Segment**, existiert Programm-weit. #### Zeiger (Pointer) - **Definition:** Eine Variable, die eine **Speicheradresse** enthält. - **Operationen:** - `&` (Adressoperator): Liefert die Adresse einer Variablen. - `*` (Dereferenzierungsoperator): Greift auf den **Wert** an der gespeicherten Adresse zu. - **Anwendungen:** Direkter Speicherzugriff, dynamische Speicherverwaltung, effiziente Übergabe großer Daten an Funktionen. #### Speichergröße (KiB) - `1 Kibibyte (KiB) = 2^{10}` Byte = `1024 Byte`. - Bei einer Adressierbarkeit von 1 Byte hat ein 1 KiB Speicher `1024` eindeutige Adressen.