Adakah Ahli Tatasusunan Fleksibel Sah dalam C ?
Dalam C99, tatasusunan ahli fleksibel boleh diisytiharkan dalam struct, membolehkan saiz tatasusunan menjadi tidak dinyatakan. Walau bagaimanapun, sintaks yang sama tidak boleh digunakan dalam C . Apabila cuba dentang, ia gagal untuk menyusun, memerlukan pengubahsuaian pada pengisytiharan untuk memasukkan [0].
Kesahihan dalam C
Mengikut piawaian C, terdapat bukan rujukan eksplisit kepada tatasusunan ahli yang fleksibel. Ini menunjukkan bahawa mereka tidak sah dalam C .
Pengisytiharan Betul
Walaupun [0] secara tradisinya dianggap sebagai pengisytiharan tidak sah untuk tatasusunan, ia nampaknya pengisytiharan yang sah untuk tatasusunan ahli yang fleksibel. Sisihan daripada tingkah laku tatasusunan piawai ini adalah unik kepada tatasusunan ahli fleksibel dalam C .
Kesimpulan
Tatasusunan ahli fleksibel, walaupun tersedia dalam C99, tidak sah dalam C . Pengecualian ciri ini dalam C berpunca daripada fakta bahawa C telah diseragamkan sebelum pengenalannya dalam C.
Atas ialah kandungan terperinci Adakah Ahli Array Fleksibel Dibenarkan dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!