引導語;陣列是一組同類型的數,以下是本站小編分享給大家的C語言陣列知識點,歡迎參考學習!
一、陣列的宣告
宣告陣列的語法為在陣列名後加上用方括號括起來的維數說明。本接僅介紹一維陣列。下面是一個整型陣列的例子:
int array[10];
這條語句定義了一個具有10個整型元素的名為array的陣列。這些整數在記憶體中是連續儲存的。陣列的大小等於每個元素的大小乘上陣列元素的個數。方括號中的維數表示式可以包含運算子,但其計算結果必須是一個長整型值。這個陣列是一維的。
下面這些宣告是合法的:
int offset[5+3];
float count[5*2+3];
下面是不合法的:
int n=10;
int offset[n]; /*在宣告時,變數不能作為陣列的維數*/
二、用下標訪問陣列元素
int offset[10];
表明該陣列是一維陣列,裡面有10個數,它們分別為offset[0],offset[1],……offset[9];千萬注意,陣列的第一個元素下標從0開始。一些剛學程式設計的人員經常在這兒犯一些錯誤。
offset[3]=25;
上面的例子是把25賦值給整型陣列offset的第四個元素。
在賦值的時候,可以使用變數作為陣列下標。
main()
{
int i,offset[10];
for(i=0;i<10;i++) scanf(%d,&offset[i]);
for(i=9;i>=0;i--) printf(%d ,offset[i]);
printf(n);
}
題目的意思是先輸入10個整數,存入到陣列中,然後反序輸出。
三、陣列的初始化
前面說了,變數可以在定義的時候初始化,陣列也可以。
int array[5]={1,2,3,4,5};
在定義陣列時,可以用放在一對大括號中的初始化表對其進行初始化。初始化值的個數可以和陣列元素個數一樣多。
如果初始化的個數多於元素個數,將產生編譯錯誤;如果少於元素個數,其餘的元素被初始化為0。
如果維數表示式為空時,那麼將用初始化值的個數來隱式地指定陣列元素的個數,如下所式:
int array[]={1,2,3,4,5};
這也表明陣列array元素個數為5。
main()
{
int i,array[]={1,3,5,7,9,11};
for(i=0;i<5;i++) printf(%d ,array[i]);
printf(n);
}
最終結果為1 3 5 7 9
四、字元陣列
整數和浮點數陣列很好理解,在一維陣列中,還有一類字元型陣列。
char array[5]={'H','E','L','L','O'};
對於單個字元,必須要用單引號括起來。又由於字元和整型是等價的,所以上面的字元型陣列也可以這樣表示:
char array[5]={72,69,76,76,79}; /*用對應的ASCII碼*/
舉一個例子:
main()
{
int i;
char array[5]={'H','E','L','L','O'};
for(i=0;i<5;i++) printf(%d ,array[i]);
printf(n);
}
最終的輸出結果為72 69 76 76 79
但是字元型陣列和整型陣列也有不同的地方,看下面的:
char array[]=HELLO;
如果我們能看到內部的話,實際上編譯器是這樣處理的':
char array[]={'H','E','L','L','O','