陣列:具有相同型別的資料組成的序列,且該序列是有序集合。
陣列中的每乙個資料稱為資料元素(下標變數)。
陣列元素由其所在的位置序號(資料元素的下標)來區分。
陣列名與下標的意義:可以用統一的方式來處理陣列中的所有元素,從而方便的實現處理一批具有相同性質資料的問題。
注意:陣列元素的有序不是指元素大小順序。
1、一維陣列的定義
在c語言中使用陣列必須先進行定義。
一維陣列的定義方式為:型別說明符 陣列名[常量表達];
例:int a[10];
它表示定義了乙個整型陣列,陣列名為a,此陣列有十個元素,10個元素都是整型變數。
注意:(1)型別說明符是任意一種基本資料型別或構造資料型別。對於同乙個陣列,其所有元素的資料型別都是相同的。
(2)陣列名是使用者定義的陣列識別符號,書寫規則應符合識別符號的書寫規定。
(3)方括號中的常量表示式表示資料元素的個數,也稱為陣列的長度。
(4)允許在同乙個資料說明中,說明多個陣列和多個變數。
例:int a,b,c,d,k1[10],k2[2];
(5)a[7]表示a陣列有7個元素,注意下標是從0開始的,這7個元素是a[0],a[1],a[2],a[3],a[4],a[5],a[6]。不存在陣列元素a[7]。
(6)c語言不允許對陣列的大小做動態定義,即陣列的大小不依賴於程式執行過程中變數的值。
例:int n;
scanf("%d",&n); /*在程式中臨時輸入陣列的大小*/
int a[n];
為非法。
常見錯誤:(1)float a[0];/*陣列大小為0沒有意義*/
(2)int b(2)(3);/*不能使用圓括號*/
(3)int k,a[k];/*不能用變數說明陣列大小*/
2、一維陣列元素的引用
陣列元素是組成陣列的基本單元。陣列元素也是一種變數,其表示方法為陣列名後跟乙個下標。下標表示了元素在陣列中的順序號。
陣列元素的一般形式為:(引用時陣列的一般形式)
陣列名[下標]
下標可以是整型常量或整形表示式。
例:a[0]=a[5]+a[7]-a[2*3]
a[i+j]
a[i++]
都是合法的陣列元素。
注意:(1)陣列元素通常也稱為下標變數。必須先定義陣列才能使用下標變數。在c語言中只能逐個的使用下標變數,而不能一次引用整個陣列。
例:輸出有十個元素的陣列必須使用迴圈語句逐個輸出各下標變數。
#includevoid而不能用乙個語句輸出整個陣列。main()
}
例:printf("%d",a);為非法
(2)定義陣列時用到的「陣列名[表示式常量]」和引用陣列元素時用到的「陣列名[下標]」是有區別的。
例:
int a[10];/*例:定義陣列長度為10
*/t=a[6]/*
引用a陣列中序號為6的元素,此時6不代表陣列長度
*/
#includevoidmain()
for(i=9;i>=0;i--)
}
二維陣列(初學者)
1 二維陣列的定義 當陣列中每個元素帶有兩個下標時,稱這樣的陣列為二維陣列。在邏輯上可以把二維陣列看成是乙個具有行和列的 或乙個矩陣。一般形式 型別說明符 陣列名 常量表示式1 常量表示式2 例 定義a為3 4 3行4列 的陣列,b為5 10 5行10列 的陣列。include include vo...
二維陣列(初學者)
1 二維陣列的定義 當陣列中每個元素帶有兩個下標時,稱這樣的陣列為二維陣列。在邏輯上可以把二維陣列看成是乙個具有行和列的 或乙個矩陣。一般形式 型別說明符 陣列名 常量表示式1 常量表示式2 例 定義a為3 4 3行4列 的陣列,b為5 10 5行10列 的陣列。include include vo...
函式的定義與引數(初學者)
型別識別符號 函式名 宣告部分 語句部分 在定義函式時要用 型別識別符號 指定函式值的型別,即函式帶回來的值的型別。型別識別符號 函式名 形式引數表列 宣告部分 語句部分 例 int max int x,int y 型別識別符號 函式名 例 dummy 注 定義函式時不寫型別識別符號時,系統預設為i...