mikrocontroller.net

Forum: Compiler & IDEs Struktur im Zusammenhang mit typedef


Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Ich habe noch ein paar Verständnisprobleme, was die Verwendung von 
Strukturen zur Typendefinition angeht. Nehmen wir mal an ich möchte 
einen Datentyp für einen Punkt definieren, also (x,y).

typedef struct _Punkt {
  float x;
  float y;
}Punkt;

Wäre das so korrekt? Welchen Sinn hat jetzt hier das typedef? Bzw. würde 
es auch ohne Funktionieren? Und wieso gibt es 2 "Namen" für den 
Typ(_Punkt,Punkt)?

mfg.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Olaf schrieb:
> Wäre das so korrekt?

Ja, abgesehen davon, daß man dem Namen Punkt nicht ansieht, daß es
ein Typ ist.
punkt_t oder so etwas wäre geschickter.

> Welchen Sinn hat jetzt hier das typedef?

Es definiert einen zusätzlichen Namen Punkt für struct _Punkt.

> Bzw. würde
> es auch ohne Funktionieren?

Ohne was? Ohne typedef? Ja, dann müsstest du halt als Typ immer
struct _Punkt schreiben.

> Und wieso gibt es 2 "Namen" für den
> Typ(_Punkt,Punkt)?

Weil du es mit dem typedef so definiert hast.
Der erste Typ heißt übrigens nicht _Punkt, sondern struct _Punkt.

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.