Heim > Backend-Entwicklung > C++ > Wie kann ich C-Code mit anonymen Strukturen oder Unions kompilieren?

Wie kann ich C-Code mit anonymen Strukturen oder Unions kompilieren?

Patricia Arquette
Freigeben: 2024-10-29 10:25:02
Original
655 Leute haben es durchsucht

How Can I Compile C Code with Anonymous Structs or Unions?

C-Code mit anonymen Strukturen/Unions kompilieren

Es stellt sich die Frage, wie man C-Code mit anonymen Strukturen oder Unions kompiliert, wie in gezeigt C mit anonymen Feldern unter Verwendung von Gewerkschaften. In C führt der Versuch, eine ähnliche Struktur mithilfe benannter Strukturen zu erstellen, die eine anonyme Union enthalten, zu Kompilierungsfehlern.

Die Fehlermeldungen weisen darauf hin, dass die Felder „anonyme Union“ und „Struktur“ nicht in der Strukturdeklaration deklariert sind. Um diese Funktion in C zu aktivieren, ist es notwendig, das Compiler-Flag -fms-extensions zu verwenden.

Überarbeiteter Code mit -fms-extensions

<code class="c">#include <stdio.h>
#include <assert.h>

typedef struct {
    union {
        float x, y, z;
    } xyz;
} Vector3;

int main() {
    Vector3 v;
    assert(&v.xyz.x == &v.x);
    assert(&v.xyz.y == &v.y);
    assert(&v.xyz.z == &v.z);
    return 0;
}</code>
Nach dem Login kopieren

Damit Durch die Änderung wird der Code erfolgreich kompiliert und die Behauptungen werden bestanden, wodurch bestätigt wird, dass die Adressen der Gewerkschaftsmitglieder und die Strukturfelder gleichwertig sind.

Das obige ist der detaillierte Inhalt vonWie kann ich C-Code mit anonymen Strukturen oder Unions kompilieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage