C-Programmierung

Zeiger und Adressen

Berechenbarkeit | | Dereferenzierung

Variablen liegen an einer bestimmten Speicheradresse im Hauptspeicher. Die Adresse einer Variable ist eindeutig.

Die Adresse einer Variable erhält man, indem man ihr den Adress-Operator & voranstellt. Er ist nur auf Variablen anwendbar und nicht auf allgemeine Ausdrücke. Man spricht von einer Referenz auf eine Variable.

Ein Zeiger (Pointer) ist eine Variable, die eine Referenz enthält. Pointer sind typisiert, da sie auf Variablen eines bestimmten Typs zeigen. Sie werden mit einem vorangestellten * vor dem Namen deklariert:

<data_type> *pointer; /* pointer to a variable of a particular data type */
int *ptr; /* pointer to an integer variable */

Die Zuweisung einer Adresse an einen Pointer geschieht wie bei normalen Variablen:

int variable=0;
pointer=&variable; /* pointer to an integer variable with the actual value 0 */

An einen Pointer können nur Referenzen bzw. Adressen zugewiesen werden.
Es sind nur Zuweisungen von Adressen vom jeweils passenden Typ erlaubt.

Berechenbarkeit | | Dereferenzierung

Options: