數(shù)組的定義:
-
數(shù)組表示的是一組數(shù)據(jù)類型相同的數(shù),這組數(shù)當(dāng)中的每一個元素都是一個獨立變量,數(shù)組就是用來存儲和處理一組相同類型的數(shù)據(jù)的。必須牢牢記住:數(shù)組的三要素為數(shù)組的起始地址、范圍和類型大小。
數(shù)組名,是數(shù)組的唯一標(biāo)識符。 - 數(shù)組主要分一維數(shù)組和二維數(shù)組來學(xué)習(xí),而多維數(shù)組其實是沒有的,說句不好聽的,數(shù)組學(xué)的就是一維數(shù)組。因為它們都是一維數(shù)組來鋪墊的。
<1>一維數(shù)組的定義:
-
一維數(shù)組定義的一般形式為:
類型說明符 數(shù)組名[常量表達(dá)式];
eg:int array[5];
<2>一維數(shù)組的存儲:
-
一維數(shù)組,在內(nèi)存中是一段連續(xù)的存儲區(qū)域 。
** 使用code數(shù)組存儲上節(jié)中建立的數(shù)據(jù)表中的序號列中的數(shù)據(jù),如下表所示 :**
Paste_Image.png -
特別注意一點:
在C語言當(dāng)中,數(shù)組的下標(biāo)總是從0開始記的,而不是從1開始。
這一點大家需要格外注意,特別是最初接觸到數(shù)組。至于為什么從0開始,通過匯編語言我們可以知道[ ] 是一種基址變址運算符。因此數(shù)組的下標(biāo)從0 處開始是由于存放數(shù)據(jù)基于起始位置偏移的是0 個單位處的。
<3>一維數(shù)組的初始化:
初始化有兩種方式:
a、先定義數(shù)組,再進(jìn)行初始化。
b、在定義的同時對其初始化。
初始化的情況分為五種:不初始化、全初始化、部分初始化、滿實始化和不指定大小實始化 。(比較簡單,這里就不一一細(xì)說。)
但要注意的是在定義數(shù)組時如果沒有定義數(shù)組元素的個數(shù),使用時就會發(fā)生異常,原因是內(nèi)存中并沒有為數(shù)組array開辟任何存儲空間,數(shù)據(jù)自然無處存放。
<4>一維數(shù)組元素的操作-
寫個小程序吧。
#include<stdio.h>
int main(void)
{
int i;
int array[5]={1,2,3,4,5}; //定義數(shù)組,同時初始化
for(i=0;i<5;i++) //循環(huán)訪問數(shù)組元素
{
printf("a[i] = %d\n",array[i]);
}
return 0;
}//輸出結(jié)果是 a[1] = 1 a[2] = 2 a[3] = 3 a[4] = 4 a[5] = 5
具體的就不多說了。說一下注意事項咯。在調(diào)用函數(shù)時,變量是按照傳值方式傳遞的,而數(shù)組是按照傳地址方式傳遞的。跟變量不一樣,對于變量,實參可以改變形參,形參的改變不會影響到實參;對于數(shù)組,實參可以改變形參,形參的改變也會改變實參。
來自我的博客:http://blog.csdn.net/jinlongcai/article/details/51477952