c语言不能在函数中求数组大小,C语言中数组长度不能用变量定义吗?
翻翻過去那場雪
1、C語言中不支持。C++中支持變長數組(你可以自行度娘變長數組和alloca函數),但是因為其實在棧上分配,不被推薦使用。做為解決方案,你可以使用C式的malloc函數或者C++式的new函數來在堆上動態分配內存,這樣長度是完全可以自定的。2、C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的C語言程序可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平臺。3、、在數組一章中,曾介紹過數組的長度是預先定義好的, 在整個程序中固定不變。C語言中不允許動態數組類型。例如: int n;scanf("%d",&n);int a[n]; 用變量表示長度,想對數組的大小作動態說明, 這是錯誤的。但是在實際的編程中,往往會發生這種情況, 即所需的內存空間取決于實際輸入的數據,而無法預先確定。對于這種問題, 用數組的辦法很難解決。4、為了解決上述問題,C語言提供了一些內存管理函數,這些內存管理函數可以按需要動態地分配內存空間, 也可把不再使用的空間回收待用,為有效地利用內存資源提供了手段。 其它文獻中所提到的"動態數組",指的就是利用內存的申請和釋放函數,在程序的運行過程中,根據實際需要指定數組的大小.其本質是一個指向數組的指針變量.常用的內存管理函數有以下三個:分配內存空間函數malloc;分配內存空間函數 calloc;釋放內存空間函數free。
總結
以上是生活随笔為你收集整理的c语言不能在函数中求数组大小,C语言中数组长度不能用变量定义吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 七台河计算机网络工程专业,网络工程本科专
- 下一篇: 深入学习二叉树(三) 霍夫曼树