回答
Visual Studio只支持C89/90。他們不支持C99。因此,您不能在Visual Studio中使用可變長度數組。此外,微軟並沒有計劃在他們的C編譯器中增加對C99的支持。
VS甚至不支持C89。它支持MS的一些混蛋MS卡住... –
@R:真的嗎?據我所知,它對C89/C90標準有相當不錯的支持(儘管你必須給它一些非默認選項)。 –
至少它不能正確支持1995年添加的寬字符接口;例如'wprintf(L「%s \ n」,「hello」);'不起作用。我無法馬上想到這些例子,但我確信一些原始的C89函數也存在重大的不符合性問題,並且可能與預處理器的行爲有關。 –
- 1. C++數組長度可變行不通
- 2. C++:可變長度數組
- 3. 可變長度c數組
- 4. c99動態數組
- 5. C++版本C99臨時局部數組變量的
- 6. 變長數組
- 7. 數組變長數組
- 8. ISO C++禁止變長數組
- 9. C++ 14中的可變長度數組?
- 10. C#可變長度字符串數組
- 11. 聲明數組兩次(C99)
- 12. 使用C99將C99動態分配的多維數組遷移到C++
- 13. C99,C代碼
- 14. LinkedList的目標C - 在C99
- 15. 爲什麼C++不支持可變長度數組?
- 16. 取決於文件長度的可變長度數組C++
- 17. MISRA C 2004和c99
- 18. C89中的變長數組?
- 19. 可變長度數組
- 20. 家長是不是在組件
- 21. 在C++的`extern「C」塊中使用c99
- 22. 在Numpy C擴展中返回可變長度數組?
- 23. 在MS Visual C++中啓用VLAs(可變長度數組)?
- 24. 在C++中有可變長度數組嗎?
- 25. 編組包含一個可變長度數組的C結構
- 26. C和C++中的可變長度數組
- 27. c/C++中的可變長度數組存儲空間
- 28. 轉換爲C字節數組長長
- 29. C99可變長度自動陣列性能
- 30. 本地數組變量不是數組
解決方法是使用'malloc()' - 它的優點是可以讓您檢測分配失敗。 –
我正在閱讀一本遵循C89/C99標準的書。我應該買一本新書嗎?我也不瞭解gcc。 – user103214
這是哪本書? C99標準當然值得了解,但微軟採用它特別慢。最好意識到哪些功能是C90中的新功能,哪些是C90中的(幾乎所有編譯器都支持)。 –