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