C++基础-一维和二维数组详解

本文详细介绍了C++中的一维数组和二维数组的定义、初始化和访问方法。从声明到实际操作,通过实例解析了数组元素的访问方式,并对比了一维数组与二维数组的区别。此外,还提到了高维数组的使用注意事项。
摘要由CSDN通过智能技术生成

目录

定义

一维数组

二维数组


定义

数组是相同类型的对象序列,它们占据一块连续的内存区。

一维数组

声明数组格式:

type arrayName [ arraySize ];

初始化

三种方式

1、数据类型 数组名 [ 数组长度 ];

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

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

访问数组元素

数组元素可以通过数组名称加索引进行访问。元素的索引是放在方括号内,跟在数组名称的后边

double salary = balance[9];

实例

//数据类型 数组名 [ 数组长度 ];
	int arr[3];
	arr[0] = 1;
	arr[1] = 2;
	arr[2] = 3;
	cout <<"数组1:"<<endl;
	for (int i = 0; i < 3; i++)
	{
		cout <<"数组1:"<< arr[i]<<endl;
	}
	//数据类型 数组名[数组长度] = { 数值1,数值2,数值3…… };
	int arr2[3] = {1,2,3};
	cout <<"数组2:"<<endl;
	for (int i = 0; i < 3; i++)
	{
		cout << arr2[i] << endl;
	}
	//如果数组长度>大括号内的数值个数时,则未赋值的默认为“0”,小于时报错
	int arr21[3] = { 1,2};
	cout <<"数组21:"<<endl;
	for (int i = 0; i < 3; i++)
	{
		cout << arr21[i] << endl;
	}
	//数据类型 数组名[] = { 数值1,数值2,数值3…… };
	int arr3[] = { 1,2,3 };
	cout <<"数组3:"<<endl;
	for (int i = 0; i < 3; i++)
	{
		cout << "数组3:" << arr3[i] << endl;
}

 

二维数组

当数组元素具有两个下标时, 该数组称为二维数组。 二维可以看做具有行和列的平面数据结构。

二维数组的形式:

数据类型 数组名[常量表达式1][常量表达式2] ;

数据类型是数组全体元素的数据类型, 数组名用合法的标识符表示, 两个整型常量表达式可以理解为分别代表行数和列数, 与一维数组相同, 数组元素的下标一律从0开始。

初始化

四种方式

1、数据类型 数组名[ 行数 ][ 列数 ];

2、数据类型 数组名[ 行数 ][ 列数 ] = { {数据1,数据2},{数据3,数据4}……};

3、数据类型 数组名[ 行数 ][ 列数 ] = { 数据1,数据2,数据3,数据4……};

4、数据类型 数组名[  ][ 列数 ] = { 数据1,数据2,数据3,数据4……};

访问数组元素

 二维数组的数组元素引用与一维数组元素引用类似,区别在于二维数组元素的引用必须给出两个下标。

格式为:        <数组名> [下标1] [下标2]

说明:显然,每个下标表达式取值不应超出下标所指定的范围,否则会导致致命的越界错误。

实例

//1、数据类型 数组名[行数][列数];
	int arr[2][3];
	arr[0][0] = 1;
	arr[0][1] = 2;
	arr[0][2] = 3;
	arr[1][0] = 4;
	arr[1][1] = 5;
	arr[1][2] = 6;
	cout << "数组1:" << endl;
	for (int i = 0; i < 2; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			cout << arr[i][j] << " ";
		}
		cout << endl;
	}
	//2、数据类型 数组名[行数][列数] = { {数据1,数据2},{数据3,数据4}…… };
	int arr2[2][3] = { {1,2,3},{4,5,6} };
	cout << "数组2:" << endl;
	for (int i = 0; i < 2; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			cout << arr2[i][j] << " ";
		}
		cout << endl;
	}
	//3、数据类型 数组名[行数][列数] = { 数据1,数据2,数据3,数据4…… };
	int arr3[2][3] = { 1,2,3,4,5,6 };
	cout << "数组3:" << endl;
	for (int i = 0; i < 2; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			cout << arr3[i][j] << " ";
		}
		cout << endl;
	}
	//4、数据类型 数组名[][列数] = { 数据1,数据2,数据3,数据4…… };
	//编译器可以根据列数,推测出所需行数,但是不能根据行数,推测出所需列数.
	int arr4[][3] = { 1,2,3,4,5,6 };
	cout << "数组4:" << endl;
	for (int i = 0; i < 2; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			cout << arr4[i][j] << " ";
		}
		cout << endl;
	}

 总结

维数组与二维数组的区别与联系:二维数组的每一行可看为一维数组

C++语言对数组的维数没有限制, 因此你还可以根据一维和2维的规律使用 3 维数组或更高维的数组, 但是在高维数组上的处理比较难理解, 不熟练的情况下容易出错, 因此对于 3 维以上的数组请酌情使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未来无限

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值