【C/C++】变量做数组长度
生活随笔
收集整理的這篇文章主要介紹了
【C/C++】变量做数组长度
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在c++中時不支持變量作為數(shù)組長度參數(shù)的,如 int n=10;byte bs[n]; ? 這樣寫會提示編譯錯誤”表達式必須含有常量值“。
雖然用變量聲明數(shù)組大小會報編譯錯誤,但是可以通過指針來動態(tài)申請空間實現(xiàn)動數(shù)組長度的變量賦值,寫法如下:
int length = 10; int * varArray; varArray = new int[length];這樣varArray就可以當做數(shù)組來用了,這個數(shù)組的長度可以在程序運行時由計算得來。如果是普通的數(shù)組如int is[10] 編譯時必須能確定數(shù)組長度,不然會報編譯錯誤,這樣靈活性受限比較大。我想這個就是new的存在原因之一吧,在棧中分配的內存,大小都是編譯時就確定好的,如果想在運行時來動態(tài)計算使用內存的大小的話,就要用new這樣的動態(tài)分配函數(shù),來達到更高的靈活性。
可以自己聲明一個結構體,來代表這個指針實現(xiàn)的數(shù)組,這樣可讀性會高點,用起來也方便點。
注意:c++ 用new分配空間以后,不用的時候要記得delete釋放內存,不然會有內存泄露問題。
?
轉自:http://www.cnblogs.com/wangjixianyun/archive/2012/12/11/2812468.html
《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【C/C++】变量做数组长度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C/C++】头文件包含之#includ
- 下一篇: OpenCV的projectPoints