Home

Speicherklasse

Speicherklasse ist ein Begriff aus der Programmierung, der die Eigenschaften eines Speicherbereichs für ein Objekt beschreibt. Wichtige Merkmale sind die Lebensdauer des Objekts, die Sichtbarkeit im Programm und die Verknüpfung (Linkage) zwischen Übersetzungseinheiten. Die Speicherklasse bestimmt, wo der Speicher reserviert wird, wie lange das Objekt existiert und wie es im Code referenziert werden kann.

In der Sprache C werden Speicherklassen durch Speicherklassen-Spezifizierer implementiert. Die wichtigsten sind auto, extern, static und

Der Begriff ist breit gefasst und wird auch in anderen Sprachen verwendet, doch die konkrete Semantik variiert.

register.
Auto
bezeichnet
automatische
Speicherdauer:
lokale
Variablen,
die
beim
Betreten
eines
Blocks
erstellt
und
beim
Verlassen
wieder
zerstört
werden.
Extern
verweist
auf
eine
Definition
außerhalb
des
aktuellen
Übersetzungseinheitsspeichers;
Variablen
mit
externen
Bezeichnern
sind
in
der
Regel
global
sichtbar.
Static
hat
unterschiedliche
Auswirkungen:
In
Funktionen
deklarierte
statische
Variablen
besitzen
eine
dauerhafte
Lebensdauer,
bleiben
über
Funktionsaufrufe
hinweg
bestehen.
Auf
Dateiebene
deklariert,
sorgt
static
für
interne
Verknüpfung,
das
heißt,
das
Symbol
ist
nur
innerhalb
der
Übersetzungseinheit
sichtbar.
Funktionen
können
ebenfalls
static
sein
und
so
eine
interne
Sichtbarkeit
erhalten.
Register
war
einst
eine
Bitte
an
den
Compiler,
Speicherplätze
in
Registern
zu
verwenden;
moderne
Compiler
ignorieren
diese
Anweisung
häufig
oder
behandeln
sie
als
veraltet.
In
vielen
modernen
Sprachen
ist
der
Einsatz
von
Speicherklassen
weniger
sichtbar,
da
Compileroptimierung
und
andere
Mechanismen
Lebensdauer,
Sichtbarkeit
und
Verknüpfung
übernehmen.
Dennoch
bleibt
das
Konzept
zentral
für
das
Verständnis,
wie
Objekte
erstellt,
zugänglich
gemacht
und
über
Übersetzungseinheiten
hinweg
geteilt
werden
können.