在本文中,您將學(xué)習(xí)使用數(shù)組。您將學(xué)習(xí)在C ++編程中聲明,初始化和訪問(wèn)數(shù)組元素。
在編程中,經(jīng)常碰到的問(wèn)題之一是處理大量相同類(lèi)型的數(shù)據(jù)。
例如這種情況,您正在對(duì)100個(gè)人進(jìn)行調(diào)查,并且必須存儲(chǔ)他們的年齡。要在C ++中解決此問(wèn)題,可以創(chuàng)建一個(gè)包含100個(gè)元素的整數(shù)數(shù)組。
數(shù)組是保存固定數(shù)量的相同類(lèi)型值的數(shù)據(jù)集合。例如:
int age[100];
在此,age數(shù)組最多可容納100個(gè)整數(shù)類(lèi)型的元素。
聲明數(shù)組后,數(shù)組的大小和類(lèi)型不能更改。
dataType arrayName[arraySize];
例如,
float mark[5];
在這里,我們聲明了一個(gè)浮點(diǎn)類(lèi)型和大小為5 的mark數(shù)組。這意味著數(shù)組mark可以容納5個(gè)浮點(diǎn)值。
您可以使用索引訪問(wèn)數(shù)組的元素。
假設(shè)您如上所述聲明了一個(gè)mark數(shù)組。第一個(gè)元素是 mark[0],第二個(gè)元素是 mark[1],依此類(lèi)推。
數(shù)組的第一個(gè)索引為0,而不是1。在此示例中,mark[0]為第一個(gè)元素。
如果數(shù)組的大小為n,若要訪問(wèn)最后一個(gè)元素,將使用索引(n-1)。在此示例中,mark[4]是最后一個(gè)元素。
假設(shè)mark [0]的起始地址為2120d。 然后,下一個(gè)地址a [1]將為2124d,a [2]的地址將為2128d,依此類(lèi)推。 這是因?yàn)閒loat的大小為4個(gè)字節(jié)。
在聲明過(guò)程中可以初始化數(shù)組。例如,
int mark[5] = {19, 10, 8, 17, 9};
在聲明期間初始化數(shù)組的另一種方法:
int mark[] = {19, 10, 8, 17, 9};
這里,
mark[0] = 19 mark[1] = 10 mark[2] = 8 mark[3] = 17 mark[4] = 9
int mark[5] = {19, 10, 8, 17, 9} // 將第4個(gè)元素改為9 mark[3] = 9; // 從用戶獲取輸入并插入第三個(gè)元素 cin >> mark[2]; // 接受用戶輸入并插入第(i + 1)個(gè)元素 cin >> mark[i]; // 打印數(shù)組的第一個(gè)元素 cout << mark[0]; // 打印數(shù)組的第i個(gè)元素 cout >> mark[i-1];
C ++程序用于存儲(chǔ)和計(jì)算用戶使用數(shù)組輸入的5個(gè)數(shù)字的總和。
#include <iostream> using namespace std; int main() { int numbers[5], sum = 0; cout << "輸入5個(gè)數(shù)字: "; //將用戶輸入的5個(gè)數(shù)字存儲(chǔ)在數(shù)組中 //查找輸入的數(shù)字總和 for (int i = 0; i < 5; ++i) { cin >> numbers[i]; sum += numbers[i]; } cout << "總和 = " << sum << endl; return 0; }
輸出結(jié)果
輸入5個(gè)數(shù)字: 3 4 5 4 2 總和 = 18
假設(shè)您聲明了一個(gè)由10個(gè)元素組成的數(shù)組。比方說(shuō)
int testArray[10];
您可以使用訪問(wèn)從testArray[0]到testArray[9]的數(shù)組成員。
如果試圖在數(shù)組的界限之外訪問(wèn)數(shù)組元素,比如 testArray[14],編譯器可能不會(huì)顯示任何錯(cuò)誤。但是,這可能會(huì)導(dǎo)致意外的輸出(未定義的行為)。
在繼續(xù)之前,請(qǐng)查看以下C ++數(shù)組文章:
在 C++ 中,數(shù)組是非常重要的,我們需要了解更多有關(guān)數(shù)組的細(xì)節(jié)。下面列出了 C++ 程序員必須清楚的一些與數(shù)組相關(guān)的重要概念:
概念 | 描述 |
---|---|
多維數(shù)組 | C++ 支持多維數(shù)組。多維數(shù)組最簡(jiǎn)單的形式是二維數(shù)組。 |
指向數(shù)組的指針 | 您可以通過(guò)指定不帶索引的數(shù)組名稱來(lái)生成一個(gè)指向數(shù)組中第一個(gè)元素的指針。 |
傳遞數(shù)組給函數(shù) | 您可以通過(guò)指定不帶索引的數(shù)組名稱來(lái)給函數(shù)傳遞一個(gè)指向數(shù)組的指針。 |
從函數(shù)返回?cái)?shù)組 | C++ 允許從函數(shù)返回?cái)?shù)組。 |