(1)概述:所谓数组,就是一个集合,里面存放了相同类型的数据元素
(2)特点1:数组中每个元素都是相同的数据类型
特点2:数组是由连续的内存位置组成的,放在一块连续的内存空间
目录
一维数组定义方式 一维数组数组名 一维数组案例 1、一维数组定义方式
三种方式:(数组元素的下标是从0开始索引的)
1)数据类型 数组名[数组长度];
2)数据类型 数组名[数组长度] = {值1,值2...};
3)数据类型 数组名[ ] = {值1,值2...};
[ ]里面的数字为下标,可以通过下标来访问数组中的元素
(1)方式1:数据类型 数组名[数组长度];
int arr[5];
//给数组中的元素赋值
arr[0] = 10; arr[1] = 20; arr[2] = 30; arr[3] = 40; arr[4] = 50;//访问数组中的元素
cout << arr[0] << " "; cout << arr[1] << " "; cout << arr[2] << " "; cout << arr[3] << " "; cout << arr[4] << " "; cout << endl;
(2)方式2:数据类型 数组名[数组长度] = {值1,值2...};
int arr2[5] = { 10,20,30,40,50 };//如果初始化数据是没有全部填写,会用0来填写剩余数据 cout << arr2[0] << " "; cout << arr2[1] << " "; cout << arr2[2] << " "; cout << arr2[3] << " "; cout << arr2[4] << " "; cout << endl;//或用for循环来输出数组中的元素
for (int i = 0; i < 5; i++) { cout << arr2[i] << " "; } cout << endl;
(3)方式3:数据类型 数组名[ ] = {值1,值2...};
2、一维数组数组名int arr3[] = { 10,20,30,40,50,60,70,80,90 };//定义数组时,必须有初始的长度 for (int i = 0; i < 9; i++) { cout << arr3[i] << " "; } cout << endl;
(1)作用:可以统计整个数组在内存中的长度,可以获取数组在内存中的首地址
(2)1.可以统计整个数组在内存中的大小
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; cout << "整个数组占的内存空间为:" << sizeof(arr) << endl;//结果为40 cout << "每个元素所占的内存空间为:" << sizeof(arr[0]) << endl;//结果为4 cout << "数组中元素的个数:" << sizeof(arr) / sizeof(arr[0]) << endl;//结果为102.可以获取数组在内存中的首地址
cout <<" 数组的首地址为:" << arr << endl; //可以在arr前加(int)变成(int)arr来把地址转化为十进制数 cout << " 第一个元素的地址为:" <<&arr[0] << endl;//取址符号&,结果与数组首地址相同 cout << " 第二个元素的地址为:" << &arr[1] << endl;//int类型结果与前一个差4个字节
(3)数组名是常量,不可以进行赋值 *** 作,若已经定义为数组,则arr=100(错误)
arr = 0 是进行不了的
3、一维数组案例(1)五只小猪称体重:在一个数组中记录了5只小猪的体重,如:int arr[5] = {300,350,200,400,250};找出并输出最重的小猪体重
#includeusing namespace std; int main() { //1.创建5只小猪的体重 int arr[5] = { 300,350,200,400,250 }; //2.从数组中找到最大值 int max = 0; for (int i = 0; i < 5; i++) { if (arr[i] > max) max = arr[i]; } //输出最大值 cout << "五只小猪中最重的为" < (2)数组元素逆置:请声明一个5个元素的数组,并将元素逆置
(如原来数组元素为1,2,3,4,5,逆置后输出为5,4,3,2,1)#includeusing namespace std; int main() { //1.创建数组 int arr[5] = { 1,3,2,5,4 }; //2.实现逆置 //记录起始下标 int start = 0; //记录结束下标 int end = sizeof(arr) / sizeof(arr[0]) - 1;//最后一个元素的下标为数组元素个数-1(通用) //互换 //起始++ 结束—— //循环 int temp = 0; for (; 1; ) { temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; start++; end--; if (start >= end) break; } for (int i = 0; i < 5; i++) { cout << arr[i] << endl; } return 0; } 或
#includeusing namespace std; int main() { //数组元素的互换 //1.创建数组 int arr[5] = { 1,3,2,5,4 }; //2.实现逆置 //记录起始下标 int start = 0; //记录结束下标 int end = sizeof(arr) / sizeof(arr[0]) - 1; //互换 //起始++ 结束—— //循环 int temp = 0; while(start < end ) { temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; start++; end--; } for (int i = 0; i < 5; i++) { cout << arr[i] << endl; } system("pause"); return 0; } (边学习黑马程序员边整理)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)