數(shù)組是一組具有相同數(shù)據(jù)類型的元素的集合。
c++為基本算術(shù)數(shù)據(jù)類型提供了內(nèi)置的支持。同時他也支持雙精度和單精度的數(shù)據(jù)支持。除此之外c++還支持布爾類型,以及用來存放字符集中單個元素的字符支持。
在內(nèi)置數(shù)據(jù)類型和標(biāo)準(zhǔn)庫類類型之間的是復(fù)合數(shù)據(jù)類型(compuond type)特別是指針和數(shù)組類型。
數(shù)組(array)是一個順序的容器.它包含單一類型的元素。
例如:序列
0 1 1 2 3 5 8 13 21
代表菲波那契序列的前9個數(shù)。(只要給出前兩個數(shù)據(jù),后面的數(shù)據(jù)就是前兩個數(shù)據(jù)的之和。)
a[8]={0,1,2,3,4,5,6,7}
當(dāng)a[9]的時候,就會出現(xiàn)一位偏移錯誤(off-by-one):
通常我們用循環(huán)來遍歷數(shù)組中的元素。
例如:下面的程序初始化了一個數(shù)組。前9為分別為0---9
int main()
{
int ia[10];
int idex;
for(idex=0;idex<10;idex++)
{
ia[idex]=idex;
}
for(idex=9;idex>=0;idex--)
{
cout<<ia[idex]<<"";
cout<<endl;
}
}
c++雖然對數(shù)據(jù)類型提供了內(nèi)置的支持。但是這種支持只是限定于“讀寫單個數(shù)組元素”。c++不支持?jǐn)?shù)組的抽象(abstracion),也不支持對整個數(shù)組的操作.我們有時候希望對整個的數(shù)組進(jìn)行操作。例如:把一個數(shù)組賦值給另一個數(shù)組。對兩個數(shù)組進(jìn)行比較。。想知道數(shù)組的大小。
例如:給出兩個數(shù)組,我們不能直接用賦值操作符,把一個數(shù)組的值拷貝到另一個數(shù)組中去。
比如:
ia1[10], ia2[10]
ia1[10]=ia2[10];/////錯誤。不能直接把一個數(shù)組的值通過賦值運(yùn)算符賦值給另一個數(shù)組。
如果想把一個數(shù)組的值賦值給另一個數(shù)組我們必須自己編寫程序。
for(int idex=0;idex<10;idex++)
{
ia1[idex]=ia2[idex];
}
而且數(shù)組類型并沒有自己的意識。它并不知道自己的長度,我們必須另外記錄數(shù)組的信息。當(dāng)我們希望把一個數(shù)組作為參數(shù)傳遞給一個函數(shù)的時候,問題就出現(xiàn)了。在c++中,數(shù)組不同于整型類型和浮點(diǎn)類型,它不是c++的一等公民(first——class),它是從c語言中繼承而來的,它反映了數(shù)據(jù)與對其進(jìn)行操作的算法的分離。這正是過程話程序的特點(diǎn)。
c++為基本算術(shù)數(shù)據(jù)類型提供了內(nèi)置的支持。同時他也支持雙精度和單精度的數(shù)據(jù)支持。除此之外c++還支持布爾類型,以及用來存放字符集中單個元素的字符支持。
在內(nèi)置數(shù)據(jù)類型和標(biāo)準(zhǔn)庫類類型之間的是復(fù)合數(shù)據(jù)類型(compuond type)特別是指針和數(shù)組類型。
數(shù)組(array)是一個順序的容器.它包含單一類型的元素。
例如:序列
0 1 1 2 3 5 8 13 21
代表菲波那契序列的前9個數(shù)。(只要給出前兩個數(shù)據(jù),后面的數(shù)據(jù)就是前兩個數(shù)據(jù)的之和。)
a[8]={0,1,2,3,4,5,6,7}
當(dāng)a[9]的時候,就會出現(xiàn)一位偏移錯誤(off-by-one):
通常我們用循環(huán)來遍歷數(shù)組中的元素。
例如:下面的程序初始化了一個數(shù)組。前9為分別為0---9
int main()
{
int ia[10];
int idex;
for(idex=0;idex<10;idex++)
{
ia[idex]=idex;
}
for(idex=9;idex>=0;idex--)
{
cout<<ia[idex]<<"";
cout<<endl;
}
}
c++雖然對數(shù)據(jù)類型提供了內(nèi)置的支持。但是這種支持只是限定于“讀寫單個數(shù)組元素”。c++不支持?jǐn)?shù)組的抽象(abstracion),也不支持對整個數(shù)組的操作.我們有時候希望對整個的數(shù)組進(jìn)行操作。例如:把一個數(shù)組賦值給另一個數(shù)組。對兩個數(shù)組進(jìn)行比較。。想知道數(shù)組的大小。
例如:給出兩個數(shù)組,我們不能直接用賦值操作符,把一個數(shù)組的值拷貝到另一個數(shù)組中去。
比如:
ia1[10], ia2[10]
ia1[10]=ia2[10];/////錯誤。不能直接把一個數(shù)組的值通過賦值運(yùn)算符賦值給另一個數(shù)組。
如果想把一個數(shù)組的值賦值給另一個數(shù)組我們必須自己編寫程序。
for(int idex=0;idex<10;idex++)
{
ia1[idex]=ia2[idex];
}
而且數(shù)組類型并沒有自己的意識。它并不知道自己的長度,我們必須另外記錄數(shù)組的信息。當(dāng)我們希望把一個數(shù)組作為參數(shù)傳遞給一個函數(shù)的時候,問題就出現(xiàn)了。在c++中,數(shù)組不同于整型類型和浮點(diǎn)類型,它不是c++的一等公民(first——class),它是從c語言中繼承而來的,它反映了數(shù)據(jù)與對其進(jìn)行操作的算法的分離。這正是過程話程序的特點(diǎn)。