首頁 >後端開發 >C++ >靈活數組成員在 C 中有效嗎?

靈活數組成員在 C 中有效嗎?

Patricia Arquette
Patricia Arquette原創
2024-12-06 09:13:09516瀏覽

Are Flexible Array Members Valid in C  ?

C 中的靈活數組成員

在 C99 中,靈活數組成員可用於將未知大小的數組宣告為結構的一部分。然而,這個特性在 C 中的有效性一直是一個令人困惑的話題。

C 中的有效性

C 於 1998 年標準化,早於靈活數組成員的引入在C99。因此,C 中不支援靈活數組成員。

正確聲明

儘管有誤解,'[0]' 是靈活數組成員的有效聲明C.此語法表示數組的大小未指定,必須由用戶在運行時設定。

範例

在C 中,以下程式碼將編譯並執行無錯誤:

struct Blah {
    int foo[0];
};

相反,沒有大小的語法'[] ' 在C 中是無效的。嘗試使用此語法聲明靈活的陣列成員將導致編譯器錯誤。

以上是靈活數組成員在 C 中有效嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn