學習筆記之C 陣列

2021-08-29 07:24:09 字數 1252 閱讀 3543

具有相同型別的一批資料所構成的整體成為陣列。乙個變數用來表示乙個資料,乙個陣列用來表示一批資料。陣列的名字簡稱為陣列名,陣列中的資料被稱為陣列元素(或陣列分量),用陣列名和下標來標識;區分陣列元素需要乙個順序號稱為一維陣列,區分陣列元素需要兩個順序號稱為二維陣列......

一、一維陣列

1. 一維陣列的定義:型別符 陣列名[常量表示式];

型別符表示陣列元素的型別,常量表示式的值表示陣列元素的個數,常量表示式可以包括字面常量和符號常量以及由它們組成的常量表示式,但必須是整型。

如int a[10];表示定義了乙個陣列名為a的一維陣列,它有10個元素,每個元素都是整型。

2. 一維陣列的引用:陣列名[下標],乙個陣列元素的引用就代表乙個資料,它和簡單變數同等使用。c++規定,陣列元素下標從0開始,下標可以是整型常量、整型變數或者整型表示式。

例如:for (i=0;i<10;1++)

cin>>a[i];

其功能相當於cin>>a[0]>>a[1]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6]>>a[7]>>a[8]>>a[9];

3. 一維陣列的初始化 

1)順序列出所有初值:如int x1[5]=;       (記得是花括號)

2)僅對陣列的前面一部分元素設定初值:如int x2[10]=;   

3) 對全部元素設定初值時,可以不指定陣列元素的個數:如int x1=;   

二、二維陣列

1. 二維陣列的定義:型別符 陣列名[常量表示式1][常量表示式2];如int a[3][4];

乙個n維陣列可看做是乙個一維陣列,而它的元素是乙個n-1維的陣列。

2. 二維陣列在記憶體中的儲存順序:程式執行時,二維陣列將佔據一片連續的記憶體單元。將二維陣列看做二維陣列時,在記憶體中二維陣列元素是按行的順序存放的,即先順序存放第一行的各元素,再存放第二行的各元素,以此類推。

3. 二維陣列的初始化:

1)按行給二維陣列各元素設定初值,如int y1[2][3]=,};

2)  按元素的排列順序初始化,例如int y2[2][3]=; 其效果與1)相同,但這種方法結構性差,容易遺漏;

3)對部分元素設定初值,例如int y3[3][4]=,,}; 

則y3各元素依次為:1   2   0   0

0   5   0   0

4   0   0   0

4. 二維陣列的引用:陣列名[下標1][下標2]

n維陣列引用形式為陣列名之後緊接連續n個「[下標]」。

C 學習筆記之陣列

陣列中存放的資料型別相同,陣列大小固定。初始化陣列時,陣列的維度必須是乙個常量表示式。內建型別在函式外初始化時如果沒有給定值,系統會自動為其賦值,如果實在函式內初始化沒有賦值會出現錯誤,陣列也是一樣的,如果在函式內部定義了某種內建型別的陣列,預設初始化會令陣列含有未定義的值。陣列不能用來初始化另乙個...

C 學習筆記之 陣列

定義舉例 int b int c new int 3,3 int d new int 若定義和賦值分開,可以這樣做 int v v new int 2,3 和一維陣列不同,二維陣列的console.write b.length 輸出的值是4,而且不能用這種遍歷 將二維陣列的行和列轉換,並賦值給另乙個...

C 學習筆記之陣列操作

using system using system.collections.generic using system.linq using system.text int lowerbounds 建立乙個2 3的陣列,陣列的每一維都是從lowerbounds所指的數字開始的。array intarr...