www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik C Programmierung


Autor: cperdok (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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 .

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: cperdok (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank. Jetzt ist es klar.

Chris

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.