黑马程序员C++从0到1入门编程
黑马程序员从0到1——数组
黑马程序员从0到1——函数
5 数组
5.1 概述
所谓数组,就是一个集合,里面存放了相同类型的数据元素
- 特点1: 数组中的每个数据元素都是相同的数据类型
- 特点2: 数组是由连续的内存位置组成的
5.2 一维数组
5.1.1 一维数组定义方式
一维数组定义的三种方式:
数据类型 数组名[ 数组长度 ];
数据类型 数组名[ 数组长度 ] = { 值1,值2 ...};
数据类型 数组名[ ] = { 值1,值2 ...};
示例:
#include<iostream>
using namespace std;
int main()
{
//数组
/*
1.数据类型 数组名[数组长度];
2.数据类型 数组名[数组长度]={值1,值2,...};
3.数据类型 数组名[]={值1,值2,...};
*/
//1.数据类型 数组名[数组长度];
int arr[5];
//给数组中的元素进行赋值
//数组元素的下标是从0开始索引的
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
arr[3] = 40;
arr[4] = 50;
//访问数据元素
cout << arr[0] << endl;
cout << arr[1] << endl;
cout << arr[2] << endl;
cout << arr[3] << endl;
cout << arr[4] << endl;
//2.数据类型 数组名[数组长度] = { 值1,值2,... };
//如果在初始化数据的时候,没有全部填写完,会用0来填补剩余数据
int arr2[5] = {
10, 20, 30, 40, 50 };
cout << arr2[0] << endl;
cout << arr2[1] << endl;
cout << arr2[2] << endl;
cout << arr2[3] << endl;
cout << arr2[4] << endl;
//利用循环输出数组中的元素
for (int i = 0; i < 5; i++)
{
cout << arr2[i] << endl;
}
//3.数据类型 数组名[] = { 值1,值2,... };
//定义数组的时候必须有初始长度
int arr3[] = {
90,80,70,60,50,40,30,20,10 };
for (int i = 0; i < 9; i++)
{
cout << arr3[i] << endl;
}
system("pause");
return 0;
}
总结1:数组名的命名规范与变量名命名规范一致,不要和变量重名
总结2:数组中下标是从0开始索引
5.1.2 一维数组-数组名
一维数组名称的用途:
- 可以统计整个数组在内存中的长度
- 可以获取数组在内存中的首地址
示例:
#include<iostream>
using namespace std;
int main() {
//数组名用途
//1、可以获取整个数组占用内存空间大小
int arr[10] = {
1,2,3,4,5,6,7,8,9,10 };
cout << "整个数组所占内存空间为: " << sizeof(arr) << endl;
cout << "每个元素所占内存空间为: " << sizeof(arr[0]) << endl;
cout << "数组的元素个数为: " << sizeof(arr) / sizeof(arr[0]) << endl;
cout << "\n" << endl;
//2、可以通过数组名获取到数组首地址
cout << "数组首地址为: " << arr << endl;//16进制显示
cout << "数组首地址为: " << (int)arr << endl;//十进制
cout << "数组中第一个元素地址为: " << (int)&arr[0] << endl;
cout << "数组中第二个元素地址为: " << (int)&arr[1] << endl;//元素之间相差4字节
//数组名是常量,因此不可以赋值
//arr = 100;
system("pause");
return 0;
}
总结1:直接打印数组名,可以查看数组所占内存的首地址
总结2:对数组名进行sizeof,可以获取整个数组占内存空间的大小
5.1.2.1 一维数组案例-五只小猪称体重
案例描述:
在一个数组中记录了五只小猪的体重,如:int arr[5] = {300,350,200,400,250};
找出并打印最重的小猪体重
分析——访问数组中每个元素,如果这个元素比我认定的最大值还要大,更新最大值
示例:
#include <iostream>
using namespace std;
int main() {
//1.创建5只小猪的体重数组
int arr[5] = {
300,350,200,400,250 };
//2.从数组中找到最大值
int max = 0;//先认定一个最大值为0
for (int i = 0; i < 5; i++)
{
cout