一維數組的定義與引用(初學者)
數組:具有相同類型的數據組成的序列,且該序列是有序集合。
數組中的每一個數據稱為數據元素(下標變量)。
數組元素由其所在的位置序號(數據元素的下標)來區分。
數組名與下標的意義:可以用統一的方式來處理數組中的所有元素,從而方便的實現處理一批具有相同性質數據的問題。
註意:數組元素的有序不是指元素大小順序。
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語言中只能逐個的使用下標變量,而不能一次引用整個數組。
例:輸出有十個元素的數組必須使用循環語句逐個輸出各下標變量。
#include<stdio.h> void main() { int i,a[10]; for(i=0;i<10;i++) { printf("%d\n",a[i]); } }
而不能用一個語句輸出整個數組。
例:printf("%d",a);為非法
(2)定義數組時用到的“數組名[表達式常量]”和引用數組元素時用到的“數組名[下標]”是有區別的。
例:
int a[10];/*定義數組長度為10*/ t=a[6]/*引用a數組中序號為6的元素,此時6不代表數組長度*/
例:
#include<stdio.h> void main() { int a[10],i; for(i=0;i<10;i++) { a[i]=i; } for(i=9;i>=0;i--) { printf("%d",a[i]); } }
一維數組的定義與引用(初學者)