Typedef/struct-Deklarationen

Was ist der Unterschied zwischen diesen beiden Erklärungen, wenn jemand erklären könnte, im detail:

typedef struct atom {
  int element;
  struct atom *next;
};

und

typedef struct {
  int element;
  struct atom *next;
} atom;
Überprüfen Sie Unterschied eins und zwei, in der ersten typedef ist redundant
Die erste ist nicht gültig. Der springende Punkt bei der typedef geben Sie einen neuen Namen ein, um eine Art Erklärung, und Sie haben nicht einen beliebigen Namen für die Struktur geben.
Art wirft mehr Fragen auf als es beantwortet.
Ich bin ein bisschen ein Anfänger in C, so dass, wenn Sie es erklären könnte ein bisschen mehr 'plain'. Ich Verstand typedef gemeint wurde, um zu vermeiden, dass Typ struct jedes mal, wenn Sie erstellt eine neue struct~. Ich wollte nach der Tat struct mit dem Namen vor den geschweiften Klammern gibt an, einen Typ und einen Namen nach den Klammern gibt an, eine "variable" mit dem Namen, ich dachte es angewendet typedef struct auch, natürlich habe ich einen schweren Denkfehler hier irgendwo.

InformationsquelleAutor user2780061 | 2013-09-14

Schreibe einen Kommentar