二維陣列初始化的形式為:
資料型別 陣列名[整常量表示式][ 整常量表示式]=;
在中給出各陣列元素的初值,各初值之間用逗號分開。把中的初值依次賦給各陣列元素。
有如下幾種初始化方式:
⑴ 分行進行初始化
int a[2][3]=,};
在內部再用把各行分開,第一對中的初值1,2,3是0行的3個元素的初值。第二對中的初值4,5,6是1行的3個元素的初值。相當於執 行如下語句:
int a[2][3];
a[0][0]=1;a[0][1]=2;a[0][2]=3;a[1][0]=4;a[1][1]=5;a[1][2]=6;
注意,初始化的資料個數不能超過陣列元素的個數,否則出錯。
⑵ 不分行的初始化
int a[2][3]=;
把中的資料依次賦給a陣列各元素(按行賦值)。即a[0][0]=1; a[0][1]=2;a[0][2]=3;a[1][0]=4;a[1][1]=5;a[1][2]=6;
⑶ 為部分陣列元素初始化
static int a[2][3]=,};
第一行只有2個初值,按順序分別賦給a[0][0]和a[0][1];第二行的初值4賦給a[1][0]。由於儲存型別是static,故其它陣列元素的初值為0
注:某 些c語言系統(如:turbo c)中,儲存型別不是static的變數或陣列的初值也是0。
static int a[2][3]=;
只有2個初值,即a[0][0]=1,a[0][1]=2,其餘陣列元素的初值均為0。
⑷ 可以省略第一維的定義,但不能省略第二維的定義。系統根據初始化的資料個數和第2維的長度可以確定第一維的長度。
int a[ ][3]=;
a陣列的第一維的定義被省略,初始化資料共6個,第二維的長度為3,即每行3個數,所以a陣列的第一維是2。
一般,省略第一維的定義時,第一維的大小按如下規則確定:
初值個數能被第二維整除,所得的商就是第一維的大小;若不能整除,則第一維的大小為商再加1。例如,int a[ ][3]=;
等價於:int a[2][3]=;
若分行初始化,也可以省略第一維的定義。下列的陣列定義中有兩對,已經表示a陣列有兩行。
static int a[ ][3]=,};
二維陣列初始化規則
二維陣列初始化的形式為 資料型別 陣列名 整常量表示式 整常量表示式 在中給出各陣列元素的初值,各初值之間用逗號分開。把中的初值依次賦給各陣列元素。有如下幾種初始化方式 分行進行初始化 int a 2 3 在內部再用把各行分開,第一對中的初值1,2,3是0行的3個元素的初值。第二對中的初值4,5,6...
二維陣列的初始化
1.使用兩個for迴圈定義 for i 1 i n i 2.定義時初始化 int a n m 3.使用函式定義 memset 作用是在一段記憶體塊中填充某個給定的值,它是對較大的結構體或陣列進行清零操作的一種最快方法 memset函式對陣列只能用於置零 0 或置負一 1 操作 include voi...
二維陣列的初始化
1.不分行的初始化,所有陣列元素放在一對 內 1 全部元素初始化 a 2 3 2 部分元素初始化 a 2 3 未初始化的元素預設為0,即a 1 1 0,a 1 2 0。3 省略一維長度下標時的初始化 行下標 a 3 陣列元素個數除以列數,正好除盡,所得的商就是行數。a 3 陣列元素個數除以列數,除不...