Forum: Compiler & IDEs typedef struct


von Dicker (Gast)


Lesenswert?

Hallo, wo liegt eigentlich der Sinn des Struktur-bildens? Z.B. habe ich 
in einem Code gesehen:

typedef struct{
  uint8_t data0;
  uint16_t data1;
  uint32_t data2;
}data_struct;

und im Programmlauf wird dann benutzt:

data_struct tmpdata;

tmpdata.data1 = 16BitWert;
tmpdata.data2 = 8BitWert;
tmpdata.data3 = 32BitWert;

Ist es also nur dazu da, nicht immer den Datentyp vor die Variablen zu 
stellen? In diesem Beispiel also uintX_t


von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Literaturhinweis:

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

Und ein gaaanz grundlegendes Buch über Algorithmen und Datenstrukturen.

von Karl H. (kbuchegg)


Lesenswert?

Der Sinn einer struct liegt darin, dass Dinge die
zusammengehören auch zusammenbleiben.

struct Datum
{
  uint8_t Tag;
  uint8_t Monat;
  uint8_t Jahr;
};


int main()
{
  struct Datum Heute;       // Eine Variable vom Typ 'Datum'
  struct Datum Geburtstag;  // Noch eine Variable vom Typ 'Datum'


  // mal Heute mit dem heutigen Datum ausfüllen

  Heute.Tag = 31;
  Heute.Monat = 1;
  Heute.Jahr = 2007;

  // und jetzt kommts, wenn ich Geburtstag auf Heute setzen will
  // dann weise ich das ganz einfach zu

  Geburtstag = Heute;

  // ich brauch mich nicht darum kümmern, dass Heute in
  // Wirklichkeit aus Tag, Monat, Jahr besteht. Heute ist
  // ein Datum, und wenn ich das zuweise, wird das komplette
  // Datum zugewiesen.
}


Ansonsten hat Rufus absolut recht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.