二维数组初始化的形式有?
生活随笔
收集整理的這篇文章主要介紹了
二维数组初始化的形式有?
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
二維數(shù)組初始化的形式有?
數(shù)據(jù)類型 數(shù)組名[整常量表達(dá)式][ 整常量表達(dá)式]={ 初始化數(shù)據(jù) };
在{ }中給出各數(shù)組元素的初值,各初值之間用逗號分開。把{ }中的初值依次賦給各數(shù)組元素。
有如下幾種初始化方式:
⑴ 分行進(jìn)行初始化
int a[2][3]={{1,2,3},{4,5,6}};
在{ }內(nèi)部再用{ }把各行分開,第一對{ }中的初值1,2,3是0行的3個元素的初值。第二對{ }中的初值4,5,6是1行的3個元素的初值。相當(dāng)于執(zhí)行如下語句:
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;
注意,初始化的數(shù)據(jù)個數(shù)不能超過數(shù)組元素的個數(shù),否則出錯。
⑵ 不分行的初始化
int a[2][3]={ 1,2,3,4,5,6};
把{ }中的數(shù)據(jù)依次賦給a數(shù)組各元素(按行賦值)。即a[0][0]=1; a[0][1]=2;a[0][2]=3;a[1][0]=4;a[1][1]=5;a[1][2]=6;
⑶ 為部分?jǐn)?shù)組元素初始化
static int a[2][3]={{1,2},{4}};
第一行只有2個初值,按順序分別賦給a[0][0]和a[0][1];第二行的初值4賦給a[1][0]。由于存儲類型是static,故其它數(shù)組元素的初值為0。注:某些C語言系統(tǒng)(如:Turbo C)中,存儲類型不是static的變量或數(shù)組的初值也是0。
static int a[2][3]={ 1,2};
只有2個初值,即a[0][0]=1,a[0][1]=2,其余數(shù)組元素的初值均為0。
⑷ 可以省略第一維的定義,但不能省略第二維的定義。系統(tǒng)根據(jù)初始化的數(shù)據(jù)個數(shù)和第2維的長度可以確定第一維的長度。
int a[ ][3]={ 1,2,3,4,5,6};
a數(shù)組的第一維的定義被省略,初始化數(shù)據(jù)共6個,第二維的長度為3,即每行3個數(shù),所以a數(shù)組的第一維是2。
一般,省略第一維的定義時,第一維的大小按如下規(guī)則確定:
初值個數(shù)能被第二維整除,所得的商就是第一維的大小;若不能整除,則第一維的大小為商再加1。例如,int a[ ][3]={ 1,2,3,4};等價于:int a[2][3]={ 1,2,3,4};
若分行初始化,也可以省略第一維的定義。下列的數(shù)組定義中有兩對{ },已經(jīng)表示a數(shù)組有兩行。
static int a[ ][3]={{1,2},{4}};
特別注意:在初始化二維數(shù)組的時候一定要注意,別不小心把應(yīng)該用的花括號寫成小括號了。
數(shù)據(jù)類型 數(shù)組名[整常量表達(dá)式][ 整常量表達(dá)式]={ 初始化數(shù)據(jù) };
在{ }中給出各數(shù)組元素的初值,各初值之間用逗號分開。把{ }中的初值依次賦給各數(shù)組元素。
有如下幾種初始化方式:
⑴ 分行進(jìn)行初始化
int a[2][3]={{1,2,3},{4,5,6}};
在{ }內(nèi)部再用{ }把各行分開,第一對{ }中的初值1,2,3是0行的3個元素的初值。第二對{ }中的初值4,5,6是1行的3個元素的初值。相當(dāng)于執(zhí)行如下語句:
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;
注意,初始化的數(shù)據(jù)個數(shù)不能超過數(shù)組元素的個數(shù),否則出錯。
⑵ 不分行的初始化
int a[2][3]={ 1,2,3,4,5,6};
把{ }中的數(shù)據(jù)依次賦給a數(shù)組各元素(按行賦值)。即a[0][0]=1; a[0][1]=2;a[0][2]=3;a[1][0]=4;a[1][1]=5;a[1][2]=6;
⑶ 為部分?jǐn)?shù)組元素初始化
static int a[2][3]={{1,2},{4}};
第一行只有2個初值,按順序分別賦給a[0][0]和a[0][1];第二行的初值4賦給a[1][0]。由于存儲類型是static,故其它數(shù)組元素的初值為0。注:某些C語言系統(tǒng)(如:Turbo C)中,存儲類型不是static的變量或數(shù)組的初值也是0。
static int a[2][3]={ 1,2};
只有2個初值,即a[0][0]=1,a[0][1]=2,其余數(shù)組元素的初值均為0。
⑷ 可以省略第一維的定義,但不能省略第二維的定義。系統(tǒng)根據(jù)初始化的數(shù)據(jù)個數(shù)和第2維的長度可以確定第一維的長度。
int a[ ][3]={ 1,2,3,4,5,6};
a數(shù)組的第一維的定義被省略,初始化數(shù)據(jù)共6個,第二維的長度為3,即每行3個數(shù),所以a數(shù)組的第一維是2。
一般,省略第一維的定義時,第一維的大小按如下規(guī)則確定:
初值個數(shù)能被第二維整除,所得的商就是第一維的大小;若不能整除,則第一維的大小為商再加1。例如,int a[ ][3]={ 1,2,3,4};等價于:int a[2][3]={ 1,2,3,4};
若分行初始化,也可以省略第一維的定義。下列的數(shù)組定義中有兩對{ },已經(jīng)表示a數(shù)組有兩行。
static int a[ ][3]={{1,2},{4}};
特別注意:在初始化二維數(shù)組的時候一定要注意,別不小心把應(yīng)該用的花括號寫成小括號了。
總結(jié)
以上是生活随笔為你收集整理的二维数组初始化的形式有?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数组、结构体和共用体的长度计算?
- 下一篇: 能否向函数传递一个数组?