Struktur im Zusammenhang mit typedef

Gast #1997167
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).
1
typedef struct _Punkt {
2
  float x;
3
  float y;
4
}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.
#1997171
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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.