C 中的變長數組
儘管普遍假設C 不支援變長數組(VLA),但仍有一些方法可以實現類似的功能。但是,請務必注意,使用這些方法並不能保證所有編譯器之間的相容性。
程式碼說明
您提供的範例程式碼可以編譯並運行,因為:
標準支援
需要注意的是C 標準不要求編譯器支援 VLA。因此,使用 VLA 的程式碼可能無法跨不同編譯器或平台移植。
針對 C 14 和 C 17 的失敗提案
最初建議將 VLA包含在 C 14 標準中。然而,該提案並未通過投票程序,VLA 也沒有添加到語言中。該提案也未能被接受納入 C 17。
結論
雖然 VLA 不是 C 標準的正式一部分,但它們可以用作擴展在某些編譯器中,例如 GCC。然而,了解潛在的可移植性問題並謹慎使用 VLA 至關重要,尤其是在跨平台程式碼中。
以上是C 中是否存在可變長度數組 (VLA)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!