Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengumpul Kod C dengan Struktur atau Kesatuan Tanpa Nama?

Bagaimanakah Saya Boleh Mengumpul Kod C dengan Struktur atau Kesatuan Tanpa Nama?

Patricia Arquette
Lepaskan: 2024-10-29 10:25:02
asal
699 orang telah melayarinya

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

Menyusun Kod C dengan Struktur/Kesatuan Tanpa Nama

Timbul persoalan mengenai cara menyusun kod C dengan struct atau kesatuan tanpa nama, seperti yang ditunjukkan dalam C dengan medan tanpa nama menggunakan kesatuan. Dalam C, percubaan untuk mencipta struktur serupa menggunakan struct bernama yang mengandungi kesatuan tanpa nama mengakibatkan ralat penyusunan.

Mesej ralat menunjukkan bahawa kesatuan tanpa nama dan medan struct tidak diisytiharkan dalam pengisytiharan struct. Untuk mendayakan ciri ini dalam C, anda perlu menggunakan bendera pengkompil -fms-extensions.

Kod Disemak dengan -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>
Salin selepas log masuk

Dengan ini pengubahsuaian, kod akan berjaya disusun dan penegasan akan lulus, mengesahkan bahawa alamat ahli kesatuan dan medan struct adalah setara.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengumpul Kod C dengan Struktur atau Kesatuan Tanpa Nama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan