儘管人們普遍認為 C 中禁止使用可變長度數組,但所提供的程式碼卻另有說明。這怎麼可能?
C 標準不要求編譯器支援可變長度陣列 (VLA)。但是,某些編譯器(例如 GCC 4.7 及更高版本)提供 VLA 支援作為擴充。有問題的程式碼利用了此擴展,這就是它成功編譯和執行的原因。
值得注意的是,VLA 最初計劃包含在 C 14 中,但最終被排除在外。它們也沒有進入 C 17。因此,VLA 支援仍然是特定於某些編譯器的擴展,而不是標準的 C 功能。
以上是C 真的可以處理變長數組嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!