mikrocontroller.net

Forum: Compiler & IDEs -> Zeichen im Code


Autor: Gudrun (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Habe im Sourcecode der DCF77 Uhr von Ullrich Radig
diese Zeile gefunden.
Was macht dieses -> Zeichen denn nun?

mm = rx_buffer->Min-((rx_buffer->Min/16)*6);

Gruß
Gudrun

Autor: xy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mm = rx_buffer->Min-((rx_buffer->Min/16)*6);

ist äquivalent zu:

mm = (*rx_buffer).Min -(((*rx_buffer).Min/16)*6);

gruß

Autor: Ansgar K. (paulderbademeister)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es dient dazu ein Unterelement aus einem Struct auszuwählen, auf das du 
einen Pointer hast. Äquivalent dazu wäre (*rx_buffer).Min .

Da Stucts häufig nur über call by pointer übergeben werden, ist diese 
Schreibweise einfach angenehmer.

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
rx_buffer->Min

ist eine andere Schreibweise für

(*rx_buffer).Min

Wenn dir das auch nichts sagt, steht dazu was in jedem C-Buch, Kapitel 
"Strukturen und Pointer".

Oliver

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Literaturhinweis:

Brian Kernighan & Dennis Ritchie, "Programmieren in C", zweite Auflage, 
Hanser-Verlag.

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Gudrun (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ging ja schnell.
Vielen Dank.
Damit ist ja meine Frage beantwortet.

(*rx_buffer).Min

Verstehe ich so,
es ist ein Zeiger auf das Structurmitglied Min.
Bin ich da richtig?

Gudrun

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gudrun schrieb:
> Verstehe ich so,
> es ist ein Zeiger auf das Structurmitglied Min.
> Bin ich da richtig?

So formuliert ist das falsch.

http://lmgtfy.com/?q=c+operator+%22-%3E%22

Die Grunslagen von C musst du dir schon selber erlesen. Das wird dir 
hier niemand vorkauen.

Oliver

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.