C++教程:C++數組的聲明和初始化
2020-05-23 14:27:39
供稿:網友
我們知道,在程序設計中,大多數數據都是存放在變量里的。如果我們要處理較多的數據,增加存放數據的空間最簡單的方法就是多開設一些變量。然而,變量多了就難以管理了。這就好像一個班級里的學生名字有長有短,即使沒有重復的名字,要在一長串名單里找到一個同學的名字也不是件容易的事情。于是,最方便的方法就是給同學們編上學號了,把名單按學號排列好以后,查找起來只要找學號就可以了。因為數字的排列是從小到大的,是有序的,所以查找起來要比在一堆長短不一的名字中查找要方便多了。
我們受到“學號”的啟發,可以給變量也編一個號,把存儲著相關內容的變量編在一組內,這就稱為數組(Array)。
數組的聲明
數組的本質也是變量,所以我們在使用數組之前,必須要聲明數組。聲明一個數組的語法格式為:
數據類型數組名[常量表達式];
和聲明變量類似,數據類型仍然是整型、字符型等等,數組的命名規則和變量的命名規則也一樣。在這里,我們要說明兩個問題:以前我們說過在語法規則中的中括號表示可有可無的東西,然而在數組名后的中括號有著其獨特的含義,而不是可有可無的。數組名后的中括號是數組的一個特征,沒有這個特征就不是數組了。數組中每個存放數據的變量稱為數組元素。中括號內的常量表達式稱為數組的大小,即元素的個數。例如int a[5];這句語句就是聲明了一個可以存放五個整型數據的數組,它所能存儲的數據相當于五個整型變量。
電腦必須在程序執行之前就已經知道數組的大小,因此中括號內只能是一個常量表達式,而不能含有變量。
通過實驗,我們知道我們無法根據程序運行的實際情況來聲明一個數組的大小。所以,為了保證程序有足夠的存儲空間和正常運行,我們盡量要聲明一個足夠大的數組。要注意,足夠大不是無窮大。比如我們要存放一個班級學生的成績,我們聲明一個大小為70的數組是足夠大,但是聲明一個大小為1000的數組卻是不必要的浪費。
數組的初始化
我們知道,變量在聲明的同時可以進行初始化。同樣地,數組在聲明的時候進行初始化,聲明并初始化數組的語法格式為:
數據類型數組名[常量表達式]={初始化值1,初始化值2,……初始化值n};
在初始化數組時,大括號中的值的個數不能大于聲明數組的大小,也不能通過添加逗號的方式跳過。但是初始化值的個數可以小于聲明數組的大小,此時僅對前面一些有初始化值的元素依次進行初始化。比如:
int array1[3]={0,1,2}; //正確
int array2[3]={0,1,2,3}; //錯誤,初始化值個數大于數組大小
int array3[3]={0,,2}; //錯誤,初始化值被跳過
int array4[3]={0,1,}; //錯誤,初始化值被跳過(即使是最后一個元素,添加逗號也被認為是跳過)
int array5[3]={0,1}; //正確,省略初始化最后一個元素