Zeiger Flashcards
Zeiger
Daten werden im Speicher an einer Adresse abgelegt. Ein Verweis auf diese Adresse, der in einer Variable gespeichert wird, bezeichnet man als Zeiger.
- sind selbst Variablen
- mit * definiert
- Datentyp entspricht dem Datentyp auf den sie zeigen
Referenzieren und Dereferenzieren
- Refer. : die Adresse einer Variable ermittelt man über &
- Deref. : die Inhalt der speicherzelle erhält man über *
Call by Reference
- Übergabe eines Zeigers an eine Funktion
- statt des Wertes wird die Adresse der Variable übergeben
- Variable kann über die Adresse verändert werden
Zeiger und Felder
Felder dienen der Speicherung von Objekten des gleichen datentyps.
Ein Zeiger ist ein Verweis auf die speicheradresse und kein Datenspeicher
Zeigerarithmetic
Zeiger können regulär in arithmetischen Operation verwendet werden.
Rechnung basiert aber auf Objekten eines datentyps.
- gerechnet wird mit Adressen
- ein inkrement entspricht dem inkrement eines Objekts
Felder von Zeiger
Ein Feld von Feldern mit unterschiedlicher Länge
Char a1[5];
Char a2[2];
Char a3[1];
Char* p[] = {&a1[0], &a2[0], &a3[0]};
Konstante Zeiger
const char *ptr;
Besagt dass das Element konstant sein soll. Die Daten auf die der Zeiger zeigt können nicht verändert werden
Zeiger auf Funktionen
Eine Funktion ist eine Adresse im Text Bereich des Speichers und kann auch über ein Funktionszeiger adressiert werden
Zeichenketten (String)
Ein Feld von Zeichen
- werden in C mit null ‚\0‘ terminiert