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