C 學習之路(45) 動態分配陣列記憶體

2021-08-22 06:01:29 字數 1454 閱讀 9541

問題:

如何快速給陣列分配自定義長度的記憶體,方法有哪些?

本部落格提供六種方法介紹,包含各種常用用法,且**片親自 編寫-註解-編譯-通過,對讀者負責。

闡述:

提到動態分配c++的陣列,我們想到的標籤會有:malloc-free、new-delete、一維、二維...等等,本部落格初創初心是各大公司企業都 會青睞於在筆試或者面試中,要求應屆生具備手寫分配記憶體、或者排序之類的**的能力,所以提供六種用法。

正文:

1、利用「malloc-free」動態分配一維陣列:

#include #include//該標頭檔案為malloc必須

using namespace std;

int main()

cout<<"您輸入的動態陣列為:"<2、利用「malloc-free」動態分配二維陣列:

#include #include//該標頭檔案為malloc必須

using namespace std;

int main()

//輸出成員

cout<<"您輸入的動態陣列 各行各列 成員如下:"<

3、利用「new-delete」動態分配一維陣列:

#include using namespace std;

int main()

//資料反饋

cout<<"您分配的動態陣列為:"<4、利用「new-delete」動態分配二維陣列:

#include using namespace std;

int main()

//資料反饋

cout<<"您分配的動態陣列為:"<5、利用「new-delete」動態分配二維陣列:

#include #includeusing namespace std;

int main()

//資料輸出

cout<<"您輸入的資料:"<

6、利用while的極其簡單輸入實現求和、求平均之類演算法:

#include using namespace std;

int main()

{ int sum=0,value=0;

//實際上非數字就會結束迴圈

cout<<"請輸入求和數字,以*號作為結束;"

while(cin>>value)

sum += value;

cout<<"您輸入資料之和為:"<

總結:

以上方法有簡單的,也有非常複雜而且古老的,用哪個、按照那種思路去做?主要看**的用處和時間的複雜度要求;

**:

動態分配陣列

注意,刪除操作不會刪除該指標 它刪除指標所指向的記憶體!動態分配陣列 動態陣列的宣告讓我們執行程式時選擇自己的大小。動態分配陣列,我們使用新的和刪除陣列形式 通常稱為新的 和 刪除 123 4int nsize 12 int pnarray new int nsize note nsize does...

動態分配陣列C 模板

通過動態分配的方法實現了動態陣列的建立,其中包括多種運算子過載。include define size 100 using namespace std template class array 有參建構函式,引數為陣列的長度 array int n length n 有參建構函式,引數為陣列的長度和...

C語言動態分配陣列

最近在研究c語言相關的東西,遇到了一些問題,主要是關於陣列記憶體分配的問題。我們最常用的陣列分配方式就是使用 int array 來分配固定長度的陣列,但是當需要動態分配陣列長度的時候怎麼辦呢?最近在使用的時候就遇到了,然後自己搜了搜相關的使用方法。1.先介紹基本資料型別的建立方法 int arra...