Forum: Mikrocontroller und Digitale Elektronik C Programmierung


von cperdok (Gast)


Lesenswert?

Hallo Leute,
was macht der Operator -> ? In der Tabelle für Operatoren ist er in 
meinem C-Buch zwar drin, aber ich finde keine Beschreibung. In welchem 
Kapitel könnte da was sein? Was macht die folgende Anweisung:
var = ADC -> CR ;

Chris

von Christian R. (supachris)


Lesenswert?

Das -> zeigt auf ein Element einer Klasse, Union oder Struktur, die als 
Pointer vorliegt. Man übergibt normalerweise wenn man eine Struktur mit 
vielen Variablen hat, eine Referenz auf diese Struktur, also einen 
Pointer. Will man dann in der Funktion, die diesen Pointer übergeben 
bekommen hat, auf einzelne Elemente der Struktur zugreifen, muss man -> 
benutzen.

Hat man die Struktur an sich, geht das mit dem .

von Ulrich (Gast)


Lesenswert?

wenn man auf ein Element von einer Struktur(Objekt) zugreifen möchte 
dann macht man das so:

objekt.element

Hat man aber nur einen Pointer(Zeiger,Adresse) auf die Struktur, so 
müsste man den pointer dereferenzieren. d.h. man wandelt die 
Speicheradresse in das dahinterliegende Objekt um.das geht dann so:

(*pointer).element

da diese Schreibweise aber wohl ein paar Personen zu unschön war wurde 
der -> Operator eingeführt.
Er tut halt automatisch dereferencieren und deswegen kann man dann 
schreiben

pointer->element

Hoffe das passt soweit aus meinem Kopf ;-)

von cperdok (Gast)


Lesenswert?

Vielen Dank. Jetzt ist es klar.

Chris

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.