Linux C - C基礎(chǔ)篇六(數(shù)組)
數(shù)組是一個單一數(shù)據(jù)類型對象的集合,其中單個對象并沒有被命名,但是我們可以通過它所在數(shù)組中的位置對它進(jìn)行訪問,這種訪問形式被稱作索引訪問或下標(biāo)訪問。
一維數(shù)組如下,聲明了一個包含10個int對象的數(shù)組(整形數(shù)組),每個對象被稱作是數(shù)組ia的一個元素,元素下標(biāo)是0-9而不是1-10,共10個元素,因為沒有初始化,所以每個元素默認(rèn)都是0。只定義數(shù)組但是不初始化時,必須在[]中指定數(shù)組的大小。
int ia[10];
將ia的第1個元素賦值給val:
int val = ia[0];
將常量100賦值給ia的最后一個元素:
ia[9] = 100;
數(shù)組可以被顯式地用一組數(shù)來初始化,這組數(shù)用逗號分開并放在大括號中,如下聲明了一個包含10個字符對象的數(shù)組(字符數(shù)組),并顯式的初始化了每個元素,顯式初始化數(shù)組時可以不指定數(shù)組的大小,系統(tǒng)會根據(jù)初始化元素的數(shù)量來分配數(shù)組的大?。?/strong>
char ca1[] = {'h', 'e', 'l', 'l', 'o'};
字符數(shù)組還可以如下初始化:
char ca2[] = "hello";
注意:以上兩種定義初始化方法是有區(qū)別的,數(shù)組ca1的大小是5;數(shù)組ca2的大小是6,在元素'o'后面會默認(rèn)添加'\0',這是個字符串結(jié)束符。
要把一個數(shù)組拷貝到另一個中去 必須按順序拷貝每個元素,例如:
int index;
int array_size = 7;
int ia1[] = { 0, 1, 2, 3, 4, 5, 6 };
int main()
{
int ia2[ array_size ];
for (index= 0; index< array_size; ++index)
ia2[ index] = ia1[ index];
return 0;
}
二維數(shù)組我們也可以定義二維數(shù)組,每一維用一個方括號對來指定,第一維稱為行,第二維稱為列,例如下面定義了一個4行3列的二維數(shù)組:
int ia[ 4 ] [ 3 ];
可以進(jìn)行如下初始化:
int ia[ 4 ][ 3 ] = {
{1, 2, 3},
{11, 12, 13},
{21, 22, 23},
{31, 32, 33},
}
用來表示行的花括號即被內(nèi)嵌在里邊的花括號是可選的,下面的初始化與前面的是等價的,只是有點不清楚:
int ia[4][3] = {1, 2, 3, 11, 12, 13, 21, 22, 23, 31, 32, 33};
訪問第1行第1個的元素:
int val = ia[0][0];
給第4行的最后一個元素賦值:
ia[3][2] = val;
下面的定義只初始化了每行的第一個元素,其余的元素被初始化為0,即ia[0][0] = 0,ia[1][0] = 3,ia[2][0] = 6,ia[3][0] = 9:
int ia[ 4 ][ 3 ] = { {0}, {3}, {6}, {9} };
如果省略了花括號,結(jié)果會完全不同,下面的定義:
int ia[ 4 ][ 3 ] = { 0, 3, 6, 9 };
初始化了第一行的3個元素和第二行的第一個元素,其余元素都被初始化為0。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。
傳感器相關(guān)文章:傳感器工作原理
漏電開關(guān)相關(guān)文章:漏電開關(guān)原理 漏電保護開關(guān)相關(guān)文章:漏電保護開關(guān)原理 熱式質(zhì)量流量計相關(guān)文章:熱式質(zhì)量流量計原理 流量計相關(guān)文章:流量計原理