3 Stimmen

Struktur-Erklärung

Ich habe Strukturdeklarationen gesehen, die wie diese aussehen

typedef struct br {
        int year;
        int km;

} Car;

Ich weiß, dass ich diese Struktur wie folgt verwenden kann

Car ford;
ford.year = 1980;
ford.km = 12

Doch wofür steht das "br" in der Erklärung?

0voto

Tomas Pruzina Punkte 7479

Sehen Sie sich die typedef-Syntax an:

typedef "Typ" "Name";

struct br {...} ist das, was Sie mit typedef "benennen".

Ein Teil der Programmierer (ich und Linus Torvalds zum Beispiel) glauben, dass Typendefinitionen in den Händen von Anfängern ein deus ex machina des Codes sind.

Ich befolge die Regel: " Typedefs verwenden, wenn man etwas verstecken will ", würden viele nicht zustimmen.

struct linked_list_element *head;

ist deutlicher als:

Liste *Kopf;

0voto

Lundin Punkte 171916

Zusätzlich zu den anderen gegebenen Antworten:

Das struct-Tag ist eine überflüssige Funktion, wenn Sie typedef verwenden.

Es gibt nur eine Verwendung für ein struct-Tag zusammen mit typedef, und zwar wenn das struct auf sich selbst verweisen muss. Zum Beispiel kann ein Knoten in einer verknüpften Liste deklariert werden als:

typedef struct node
{
  struct node* next;
  int data;

} Node_t;

En next Zeiger verweist nun auf Strukturen des Typs Node_t .

0voto

Varun Chhangani Punkte 1068

In Ihrer unten stehenden Frage

typedef struct br {
        int year;
        int km;

} Car;

Dass es br, die Struktur Tag und Auto zeigt Sie können den Code auch in folgender Reihenfolge umschreiben.

struct br
{
        int year;
        int km;

} ;
typedef struct br Car;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X