Bin totaler C++ Anfänger und wollten Fragen für was Zeiger (Pointer) sind? Ich weiß dass man damit die Speicheradressen von Variablen herausfinden kann?

...komplette Frage anzeigen

3 Antworten

Zeiger sind Adressen, mehr nicht. "Zeiger auf Variable" ist schon wieder ein Spezialfall, bei dem man festlegt, was an der Adresse steht. Da alles im Speicher eine Adresse hat, kannst du von fast allem diese ermitteln und verwenden. Aber manche Klassen sortieren ihre Elemente gerne mal um, daher ist das bei solchen Klassen nicht angebracht.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DM6835
03.02.2017, 22:17

Und für was braucht man Zeiger auf Variablen? Ich meine ich habe jetzt ein C++ Buch und eine lern App und überall sind Zeiger in den vorderen Kapiteln

0

Ein Zeiger (Pointer) in C/C++ ist eine Variable, deren Wert, die Speicheradresse einer anderen Variablen sein kann.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von grtgrt
04.02.2017, 16:08

Beispiele:

Die Deklaration  char * s ;  etwa erzeugt eine Variable s, die - wo angetroffen - die Speicheradresse einer Variablen vom Typ char sein sollte. *s steht dann für den Wert jener Variablen. 

Da die Speicheradresse s einer Variablen vom Typ X stets auch als Speicheradresse einer ganzen Folge solcher Variablen aufgefasst werden kann,kann *s immer auch als s[0] geschrieben werden.

Es wäre dann z.B. s[n] der n-te Wert vom Typ X in diesem Array.

Für den Fall, dass s deklariert wurde als  X * s ;  wird stets

s[n] = *( s+n )  sein.

Man nennt s deswegen auch einen typisierten Zeiger.

0

hi,

ich beschäftige auch noch nicht so lange mit C++ und bin auch über das Thema Zeiger gestolpert und hab auch einige Zeit gebraucht Zeiger zu verstehen. Zeiger ist so viel ich oft auch gelesen hab kein einfaches Thema die zu verstehen.

Am besten ließt du dir mal folgende Seite durch, die erklärt relativ gut, was die Besonderheit an Zeigern sind.

http://www.highscore.de/cpp/einfuehrung/zeiger.html

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?