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