typedef struct...was wird da gemacht?

Gast #531137
Lesenswert?
• ▲
▼
Hi,
kann mir jemand mit einfachen Worten erklären warum ich überhaupt Struct 
brauche und was genau das hier aufgeführte typedef struct macht was in 
einer header datei stand? Habe mich durchs internet gekämpft aber nichts 
verständliches über struct oder typedef struct gefunden. Jetzt habe ich 
noch ne Frage, was bezweckt bei der #define Anweisung das (can_t*)?
Hoffe jemand hat die richtigen "einfachen" Worte um mir das kurz zu 
erklären.

Gruß Marco
1
typedef struct {
2
  IO_WORD  CTR;       
3
  IO_WORD  STATR;         
4
  IO_WORD  :16;
5
} can_t;
6

7
#ifdef CTR0
8
#  define CAN0  (can_t*) &CTR0
9
#endif
Gast #531141
Lesenswert?
• ▲
▼
@ Marco Blum

>kann mir jemand mit einfachen Worten erklären warum ich überhaupt Struct
>brauche und was genau das hier aufgeführte typedef struct macht was in
>einer header datei stand? Habe mich durchs internet gekämpft aber nichts

typdef definiert einen Datentyp. Der Datentyp enthält mehrere 
Bestandteile.

>verständliches über struct oder typedef struct gefunden. Jetzt habe ich
>noch ne Frage, was bezweckt bei der #define Anweisung das (can_t*)?

Bin ich mir nicht sicher. Muss ein Profi beantworten.

MfG
Falk
Gast #531142
Lesenswert?
• ▲
▼
>> Habe mich durchs internet gekämpft aber nichts verständliches
>> über struct oder typedef struct gefunden.

Das halte ich für ein Gerücht... Aber was solls:

typedef definiert einen neuen Datentypen, der sich ab sofort can_t
nennen darf und wie zu sehen aufgebaut ist (eben eine Struktur mit
unterschiedlichen Mitgliedern).

(can_t *) ist ein CAST und definiert einen Zeiger auf den soeben
definierten Datentypen can_t.
Gast #531178
Lesenswert?
• ▲
▼
Zunächst wäre erst einmal zu klären, was ein "IO_WORD" ist.
Das muß ebendfalls ein eigener Datentyp sein (Stichwort typedef).

Die :16 kennzeichnet ein Bitfeld mit der Größe 16.
Allerdings fehlt da meines Erachtens noch ein Bezeichner.
Kann ich aber nicht 100% sagen, da ich trotz vieler Jahre Programmierung
noch nie in die Verlegenheit gekommen bin so etwas zu benutzen

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.