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?

12voto

ouah Punkte 138337

br wird als Struktur-Tag bezeichnet.

Der neu erstellte Typ ist struct br y Car ist nur ein Alias-Typ für struct br .

Diese Erklärung

struct br ford;

ist gleichbedeutend mit dieser Erklärung:

Car ford;   // ford is of type struct br

Auch das Kombinationsformular:

typedef struct br {
    int year;
    int km;
} Car;

ist gleichwertig mit diesen Erklärungen:

struct br {
    int year;
    int km;
};

typedef struct br Car;

5voto

Sergey Kalinichenko Punkte 694383

Dies ist eine kombinierte Erklärung von struct und eine Typdefinition . Car ist der Name eines neu definierten Typs; br ist die Struktur-Tag . Sie können es wie folgt verwenden:

struct br x;

Diese kombinierte Erklärung ist äquivalent zu den beiden folgenden Erklärungen:

struct br {
    int year;
    int km;
};

y

typedef struct br Car;

2voto

Zeta Punkte 100191

Durch die Verwendung von struct br{...}; definieren Sie tatsächlich einen neuen Typ struct br; . Dann typisieren Sie diesen neuen Typ in einen neuen Typ Car . Der aktuelle Typ ist struct br . Also br ist nur ein Platzhalter für die Struktur-Tag in diesem Fall (da Sie es nicht verwenden).

0voto

Chowlett Punkte 44504

br ist das Struktur-Tag (oder der "Name") der Struktur. Lesen Sie das Typedef als " typedef die struct ure genannt br die ich als enthaltend erkläre int year y int km auch bekannt sein als Car "

0voto

Cacho Santa Punkte 6660

Hier geht es darum, dass Sie eine struct br und Sie verwenden dann typedef zu verwenden struct br mit dem Alias Car .

Also grundsätzlich:

struct br ford;

ist die gleiche, die

Car ford;

Werfen Sie einen Blick auf den Typedef Dokumentation

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