C語言中的數組和字符串

C語言中的數組和字符串

一、數組的基本概念

所謂數組,就是按一定順序排列,具有某種相同性質的同類型變量的集合。這些變量具有相同的名字和數據類型,在內存中順序排列,並通過下標相互區分,所以也叫下標變量。數組中的各數據項成爲元素,用數組名和下標表示。

例如:int   a[5];

分析:這裏a是一個基本數據類型int的數組,它由5個元素組成,即:a[0]、a[1]、a[2]、a[3]、a[4]。


二、一維數組

1.一維數組的定義

定義一維數組的形式爲:(數據類型    數組名[整型常量表達式];

說明:a.數據類型是數組中全體數組元素的數據類型。

   b.數組名用標識符表示,整型常量表達式代表數組具有的元素個數。

   c.數組元素的下標一律從0開始。

   d.編譯程序爲數組開闢連續的存儲單元,用來順序存放數組的各數組元素。用數組名錶示該數組存儲的首地址。

2.一維數組的引用

引用數組元素的形式爲:(數組名[下標表達式]

例如:

#include <stdio.h>
int main(void) {
int a[3], k=10;
a[3] = 5;
k = k + 7;
printf("a[3]=%d, k=%d\n", a[3], k);
}

輸出:a[3]=12, k=12

分析:因爲,a[3]不是a數組的數組元素(下標越界),根據數組元素連續存放的規則,a[3]代表 a[2]的下一個存儲單元,即k變量的存儲單元。

執行a[3]=5;就是把5存放到k變量的存儲單元,於是k的值由10變成5。在執行k=k+7;則k的值由5變成12。因爲a[3]和k變量對應同一個存儲單元,所以a[3]的

值也是12。

3.一維數組的初始化

一維數組初始化的形式爲:(數據類型 數組名[整型常量表達式]={初值1,初值2,......};

注:初始化的數據個數不能超過數組元素的個數,否則出錯。

a.只給部分數組元素初始化:static int a[4] = {1, 2};(上述語句只給a[0]、a[1]賦了初值,即a[0] = 1;a[1] = 2;)

static爲靜態存儲,存儲類型爲static的變量或數組的初值自動設置爲0。

4.一維數組的應用

下面程序假定有十個數(要計算100個數的平均值及其大於平均值的數,只需將符號常量N改爲100即可):



三、二維數組

1、二維數組的定義

二維數組的定義形式爲:(數據類型 數組名[整型常量表達式][整型常量表達式];

例如:int a[2][3];

分析:該語句表示:a.定義了整型二維數組a,其數組元素的類型是int。

b.a數組有2行3列,共2*3=6個元素。

c.a數組行下標爲0、1,列下標爲0、1、2.

a數組的元素是:a[0][0],a[0][1],a[0][2]

a[1][0],a[1][1],a[1][2]

2、二維數組的引用

引用數組元素的形式爲:(數組名[行下標表達式][列下標表達式];

3、二維數組的初始化

二維數組初始化的形式爲:(數據類型 數組名[整常量表達式] [整常量表達式]={初始化數據 };

注:可以省略第一維的定義,但不能省略第二維的定義。系統根據初始化的數據個數和第二維的長度可以確定第一維的長度

4、二維數組的應用

輸入5個學生的學號和3門課的成績,求每個學生的平均成績。輸出所有學生的學號、3門課的成績和平均成績。



四、字符數組

字符串本身就是數組。

例如:char cCity[10] = "北京";(北京沒有用[ ] 所以北京本身就是數組)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章