概述
所謂數(shù)組,就是一個集合算利,里面存放了相同類型的數(shù)據(jù)元素
特點一:數(shù)組中的每個數(shù)據(jù)元素都是相同數(shù)據(jù)類型
特點二:數(shù)組是由連續(xù)的內(nèi)存位置組成的
一維數(shù)組定義方式
一維數(shù)組定義的三種方式:
1.數(shù)據(jù)類型 數(shù)組名 [ 數(shù)組長度];
2.數(shù)據(jù)類型 數(shù)組名 [ 數(shù)組長度 ] = { 值1效拭,值2,.... };
3.數(shù)據(jù)類型 數(shù)組名 [ ] = { 值1缎患,值2阎肝,.... };
示例:
#include <iostream>
using namespace std;
int main()
{
//數(shù)組
//1.數(shù)據(jù)類型 數(shù)組名 [ 數(shù)組長度];
//創(chuàng)建元素
int arr[5];
//給數(shù)組元素賦值,下腳標從0開始
arr[0] = 0;
arr[1] = 10;
arr[2] = 20;
arr[3] = 30;
arr[4] = 40;
//訪問數(shù)據(jù)元素
cout << arr[1] << endl;
//2.數(shù)據(jù)類型 數(shù)組名 [ 數(shù)組長度 ] = { 值1判导,值2沛硅,.... };
int arr2[5] = { 10,20,30,40,50};
//如果在初始化數(shù)據(jù)的時候,沒有全部填寫完鸟整,數(shù)據(jù)輸出會默認為0朦蕴;
//利用循環(huán),輸出數(shù)組中的元素
for (int i = 0; i < 5; i++)
{
cout << arr2[i] << endl;
}
//3.數(shù)據(jù)類型 數(shù)組名 [ ] = { 值1吩抓,值2,.... };
int arr3[] = { 10,20,30,40,50,60,70,66,166 };
//定義數(shù)組的時候伴栓,必須有初始長度钳垮,[]中可以不寫额港,系統(tǒng)從賦值自動推算出數(shù)組長度
//利用循環(huán),輸出數(shù)組中的元素
for (int i = 0; i < 5; i++)
{
cout << arr3[i] << endl;
}
return 0;
}
總結1:數(shù)組名的命名規(guī)范與變量名是一致的移斩,不要和變量名重名
總結2:數(shù)組下腳標是從0開始索引的绢馍,不要出現(xiàn)腳標越界
一維數(shù)組數(shù)組名
一維數(shù)組名稱的作用:
1.可以統(tǒng)計真?zhèn)€數(shù)組在內(nèi)存中的長度
2.可以獲取數(shù)組在內(nèi)存中的首地址
示例:
#include <iostream>
using namespace std;
int main()
{
//1.可以統(tǒng)計真?zhèn)€數(shù)組在內(nèi)存中的長度
int arr[10] = { 10,20,30,40 };
cout << "整個數(shù)組占用內(nèi)存空間為:" << sizeof(arr) << endl;
cout << "每個元素占用內(nèi)存空間為:" << sizeof(arr[0]) << endl;
cout << "數(shù)組中元素的個數(shù):" << sizeof(arr)/ sizeof(arr[0]) << endl;
//2.可以獲取數(shù)組在內(nèi)存中的首地址
cout << "數(shù)組首地址為:" << arr << endl;
cout << "數(shù)組第一個元素的地址為:" << &arr[0] << endl;
//數(shù)組名是常量,不可以進行賦值操作
//arr = 100; //錯誤
return 0;
}
練習案例1:五只小豬稱體重
案例描述:
在一個數(shù)組中記錄了五只小豬的體重你稚,找出并打印最重的小豬體重
#include <iostream>
using namespace std;
int main()
{
//創(chuàng)建5只小豬的體重數(shù)據(jù)
int arr[5] = { 100,500,300,400,200 };
//從數(shù)組中找到最大值
int max = 0;
for (int i = 0; i < 5; i++)
{
//如果訪問的數(shù)組中元素比我認定的元素打,就更新最大值
if (arr[i] > max)
{
max = arr[i];
}
}
//打印最大值
cout <<"最大體重:" << max << endl;
return 0;
}
練習案例2:數(shù)組元素逆置
案例描述:
請聲明一個5個元素的數(shù)組哺徊,并將元素逆置打忧颉盈滴;
#include <iostream>
using namespace std;
int main()
{
//創(chuàng)建數(shù)組
int arr[5] = { 1,2,3,4,5 };
//打印現(xiàn)在數(shù)組順序
cout << "逆序前數(shù)組順序:" << endl;
for (int i = 0; i < 5; i++)
{
cout << arr[i] << endl;
}
//創(chuàng)建起始下標和結束下標的位置
int start = 0;
int end = sizeof(arr) / sizeof(arr[0])-1;
while (start < end)
{
//下腳標為start和end的元素交換
int temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
start++;
end--;
}
//打印逆序后的數(shù)組
cout << "逆序后數(shù)組順序:" << endl;
for (int i = 0; i < 5; i++)
{
cout << arr[i] << endl;
}
return 0;
}