二維陣列初始化規則

2021-08-17 17:04:50 字數 1120 閱讀 7720

二維陣列初始化的形式為:

資料型別 陣列名[整常量表示式][ 整常量表示式]=;

在中給出各陣列元素的初值,各初值之間用逗號分開。把中的初值依次賦給各陣列元素。

有如下幾種初始化方式:

⑴ 分行進行初始化

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 陣列元素個數除以列數,除不...