C 陣列高階篇

2021-10-19 06:58:08 字數 2022 閱讀 3808

陣列高階知識適合收藏~在陣列基礎知識上進一步提公升和鞏固

(前提是:每行中的列數要相等)

下面用**舉例說明

int row =

2, colums =3;

int nums;

//一維陣列

for(

int i =

0; i < row; i++

) cout << endl;

}

要給定陣列的行數、列數,可以只給定二維陣列列數(不給定行數),不能只給定陣列行數,而不給定列數

正確示範:

int nums[2]

[3];

int nums[

3];錯誤示範:

int nums[3]

;

不同行的記憶體空間不一定連續

釋放記憶體時,需要先釋放各個元素指向的記憶體,最後釋放指標陣列名指向的記憶體(層層釋放)

動態陣列釋放後還會有個陣列名位址(指標)的位元組符大小

求陣列大小的函式的時候必須將陣列引用傳遞!否則陣列會退化為乙個指標,無法正確的使用sizeof運算子求出陣列所佔記憶體空間大小

int

**nums =

newint*[

10];//申請了乙個 int* 型別的10行空間

for(

int i =

0; i <

10; i++

)//釋放空間

for(

int i =

0; i <

10; i++

)delete

nums[i]

;delete

nums;

1.建立二維陣列如以下**

vector

int>

>

a(rows, vector<

int>columns)

;for

(int i =

0; j < rows; i++

)}

2.建立多維陣列(n維)如下**實現

int nx=

2100

, ny=

500, nz=

200;

vector

float

>

>

>

threedimensionarray

(nz,vector

float

>

>

(ny,vector<

float

>

(nx,0)

));for

(int z=

0;z}

3.給vector建立的陣列開闢空間 / 賦初值

vector<

int>

(n)//是指開了n個空間,你也可以帶上初值 vectot(n,1)

4.vector陣列的區間遍歷(二維陣列)

特別注意:雙重迴圈時變數型別必須是auto

#include

#include

using

namespace std;

vector

int>> a,,

};for(

auto

& rows : a)

int

* p1[10]

;//為指標陣列,10個都為int*型別的指標

int(

*p2)[10

];//為陣列指標,這個陣列是匿名陣列,p2指向乙個包含10個int型別的陣列

路漫漫其修遠兮,吾將上下而求索

php高階篇 1 陣列

陣列分為索引陣列和關聯陣列。建立乙個索引陣列,索引陣列的鍵是 0 值是 蘋果 fruit array 蘋果 print r fruit 第一種 用陣列變數的名字後面跟乙個中括號的方式賦值,當然,索引陣列中,中括號內的鍵一定是整數。比如,arr 0 蘋果 第二種 用array 建立乙個空陣列,使用 符...

C 高階陣列

include include include c 的標準庫 include c 字串 using std vector 動態陣列,堆上 using std array 靜態陣列,棧上 using std string 使用c 風格的陣列不需要管理記憶體 array注意不要溢位 array適用於任何...

C 高階陣列

include include include include stdio.h 陣列 元素型別角度 陣列是相同型別的變數有序集合,記憶體角度 聯絡一大片記憶體空間 陣列名陣列首元素的起始位址,但並不是陣列的起始位址 c是陣列首元素的位址c 1 步長4個位元組 c 是整個陣列的位址 1 步長200個位...