Wie verkettete Listen mit beliebigen Struct-Zeigern

Andere Lösung (vom ähnlichen Prinzip )
Deine Struct bestehen aus 2 Structs, einem Header und Datenteil
Der Header gibt Auskunft was für eine Struct folgt (mit einem Identifier z.B.: unsigned int) und eventuell einer Angabe einer Länge

typedef struct
{
unsigned int unType;
unsigned int unLength;
} typeHeader;
 
Bringt das irgendeinen Vorteil gegenüber dem Ansatz, zum Beispiel Typ und Länge direkt in das struct reinzutun (als Erstes), wodurch alle structs auf folgende Form sinnvoll castbar wären?
Code:
struct unknown
{
  int type;
  int length;
};

//bzw.
typedef struct 
{
  int type;
  int length;
} unknown;
 
Aber die Idee ist vielleicht nicht schlecht. So etwa:
Code:
struct header
{
  int type;
  int size;
};

struct unknown
{
  struct header;
};

struct noch_ein_struct
{
  struct header;
  int blah;
};
Das macht das Ganze wesentlich aufgeräumter, als wenn in jedem struct -Typ type und size separat deklariert würden. Meintest du das so?
 
ja so ungefähr meinte ich das.

Aber im Speicher wird das dann genau so abgelegt wie in deinem Beispiel
 
Zurück