【C++学习笔记----一维数组】

C++学习笔记

一维数组

数组概念

数组概述:
所谓数组,就是一个集合,里面存放了相同类型的数据元素

特点1:数组中的每个数据元素都是相同的数据类型
特点2:数组是由连续的内存位置组成的

一维数组的定义形式

一维数组定义的三种形式:

1、数据类型 数组名[数组长度];
2、数据类型 数组名[数组长度] = {值1,值2…};
3、数据类型 数组名[] = {值1,值2…};

一维数组名称

一维数组名称用途:

1、可以统计整个数组在内存中的长度
2、可以获取数组在内存中的首地址

体现一维数组概念的相关代码及注释

#include<iostream>
using namespace std;
int main()
{
	/*数组概述:
		所谓数组,就是一个集合,里面存放了相同类型的数据元素

		特点1:数组中的每个数据元素都是相同的数据类型
		特点2:数组是由连续的内存位置组成的
	 ***************************
	 ***************************
		一维数组定义的三种形式:
		1、数据类型 数组名[数组长度];
		2、数据类型 数组名[数组长度] = {值1,值2...};
		3、数据类型 数组名[] = {值1,值2...};
	*/
	cout << "数组1:" << endl;
	//数据类型 数组名[数组长度];
	int arr0[5];
	//给数组中元素赋值
	//数组元素的下标是从0开始索引的
	arr0[0] = 10;
	arr0[1] =20 ;
	arr0[2] = 30;
	arr0[3] = 40;
	arr0[4] = 50;
	//循环访问数据元素
	for (int i=0;i<5;i++) 
	{
		cout << arr0[i] <<" ";
	}
	cout << endl;
	cout << "arr0所占用内存空间大小为:" << sizeof(arr0) << endl;

	cout << "数组2:" << endl;
	//数据类型 数组名[数组长度] = {值1,值2...};
	int arr1[10] = { 1,2,3,4,5,6,7,8,9,0 };
	for(int j=0;j<10;j++)
	{
		cout << arr1[j] << " ";
	}
	cout << endl;

	cout << "数组3:" << endl;
	//数据类型 数组名[] = {值1,值2...};
	int arr2[] = { 12,23,34,45,56,67,78,89,90,10,11 };
	for (int k = 0; k < 11; k++)
	{
		cout << arr2[k] << " ";
	}
	cout<<endl;
	/*总结:
		1、数组名命名规范与变量名命名规范一致,不要和变量重名
		2、数组中下标是从0开始索引*/
	
	//**********
	//**********
	//一维数组名称用途:
	//	1、可以统计整个数组在内存中的长度
	//	2、可以获取数组在内存中的首地址
	cout << "数组arr0所占内存长度:" << sizeof(arr0) << endl;//统计整个数组在内存中的长度
	cout << "arr0中每个元素占用内存空间为:" << sizeof(arr0[0]) << endl;
	cout << "数组中的元素个数为:" << sizeof(arr0) / sizeof(arr0[0]) << endl;
	cout << "数组arr1所占内存长度:" << sizeof(arr1) << endl;//统计整个数组在内存中的长度
	cout << "数组arr2所占内存长度:" << sizeof(arr2) << endl;//统计整个数组在内存中的长度
	cout <<"arr0地址编号为:" << (int)arr0 << endl;//加(int)转为十进制
	cout << "arr0数组中第一个元素地址为:" << (int)&arr0[0] << endl;
	cout <<"arr1地址编号为:" << arr1 << endl;
	cout <<"arr2地址编号为:" << arr2 << endl;
		/*
		**********
		*********
		数组名是常量,不可以进行赋值操作
			如:
			arr0 = 10;会报错
			*/

	system("pause");
	return 0;
}

运行结果

数组1:
10 20 30 40 50
arr0所占用内存空间大小为:20
数组2:
1 2 3 4 5 6 7 8 9 0
数组3:
12 23 34 45 56 67 78 89 90 10 11
数组arr0所占内存长度:20
arr0中每个元素占用内存空间为:4
数组中的元素个数为:5
数组arr1所占内存长度:40
数组arr2所占内存长度:44
arr0地址编号为:2022898328
arr0数组中第一个元素地址为:2022898328
arr1地址编号为:0000005E7892FAE8
arr2地址编号为:0000005E7892FB48
请按任意键继续. . .

相关案例

案例一、五只小猪称体重

案例描述:

// 在一个数组中记录了五只小猪的体重,如:int arr[5] = { 300,350,200,400,250 };
// 找出并打印最重小猪的体重。

思路:访问数组中的每个元素,如果这个元素比认定的最大值还要大,就更新最大值。

相关代码
#include<iostream>
using namespace std;
int main()
{
	//案例名:五只小猪称体重
	//	案例描述:
	//	在一个数组中记录了五只小猪的体重,如:int arr[5] = { 300,350,200,400,250 };
	//	找出并打印最重小猪的体重。
	//1、创建五只小猪体重的数组
	int arr[5] = { 300,350,200,400,250 };
	//从五个数中找出最大值
	int max = 0;//先认定最大值为0
	for (int i = 0; i < 5; i++)
	{
		if (arr[i] > max)
		{
			max = arr[i];//如果访问的数组中元素大于认定的最大值,那么就更新最大值
		}
	}
	cout << "最重的小猪体重为:" << max << endl;

	system("pause");
	return 0;
}
运行结果
最重的小猪体重为:450
  请按任意键继续. . .

案例二、数组元素的逆置

案例描述

请声明五个元素的数组,并且将元素逆置
(如原数组元素为:1,3,2,5,4);逆置后输出结果为:4,5,2,3,1);

代码如下
#include<iostream>
using namespace std;
int main()
{
	/*
	案例名:数组元素逆置
		案例描述:请声明五个元素的数组,并且将元素逆置
		(如原数组元素为:1,3,2,5,4);逆置后输出结果为:4,5,2,3,1);
	*/
	int arr[5] = { 1,5,2,4,3 };
	cout << "数组逆置前的值为:"<<endl;
	for (int i = 0; i < 5; i++)//逐个打印数组元素
	{
		cout << arr[i] << " ";
	}
	cout << endl;
	//实现逆置
	int start = 0;//起始元素下标
	int end = sizeof(arr) / sizeof(arr[0]) - 1;//末尾元素下标
	//start和end下标进行互换
	//如果start<end,进行互换;如果start>end,不执行互换
	
	while (start < end)
	{
		//实现元素互换
		int temp = arr[start];
		arr[start] = arr[end];
		arr[end] = temp;
		//下标更新
		start++;
		end--;
	}
	//打印逆置后的结果
	cout << "逆置后的数组为:" << endl;
	for (int i = 0; i < 5; i++)
	{
		cout << arr[i] << " ";
	}
	cout << endl;
	system("pause");
	return 0;
}
运行结果
数组逆置前的值为:
1 5 2 4 3
逆置后的数组为:
3 4 2 5 1
请按任意键继续. . .
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值