zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C++基础入门丨5. 数组——一维数组和二维数组

C++基础数组入门 二维 一维
2023-06-13 09:13:11 时间

操作系统:Windows 10 IDE:Visual Studio 2019

文章目录

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

特点1:数组中的每个数据元素都是相同的数据类型

特点2:数组是由连续的内存位置组成的

1 一维数组

1.1 一维数组定义方式

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

  1. 数据类型 数组名[ 数组长度 ];
  2. 数据类型 数组名[ 数组长度 ] = { 值1,值2 ...};
  3. 数据类型 数组名[ ] = { 值1,值2 ...};
  • 在第二种定义方式中,数据类型 数组名[ 数组长度 ] = { 值1,值2 ...};,如果{}内的数据小于数组长度,则剩余数据用0补全
  • 数组中下标是从0开始索引

1.2 一维数组数组名

一维数组名称的用途

  1. 可以统计整个数组在内存中的长度:cout << sizeof(arr) << endl;
  2. 可以获取数组在内存中的首地址,通过数组名获取数组首地址:cout << (int)arr << endl;
  3. 获取数组的元素个数:cout << sizeof(arr) / sizeof(arr[0]) << endl;
  • 在查看某一个元素的首地址时,要加上 & ,例如:cout << &arr[0] << endl;

注:arr[] 为定义的一个一维数组。 在使用cout关键字时,需要提前声明using namespace std;

1.3 冒泡排序

将数组 { 3,4,2,1,5,9,8,7,0,6 } 进行升序排序

#include <iostream>
using namespace std;

int main()
{
	int arr[] = { 3,4,2,1,5,9,8,7,0,6 };
	int len = sizeof(arr) / sizeof(arr[0]) ;

	cout << "排序前:" << endl;
	for (int i = 0; i < len; i++)
	{
		cout << arr[i]; cout << " ";
		if (i == len-1)
		{
			cout << endl;
		}
	}

	for (int i = 0; i < len-1; i++)
	{
		for (int j = 0; j < len-i-1; j++)
		{
			if (arr[j] > arr[j+1])
			{
				int temp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = temp;
			}
		}
	}
	cout << "排序后:" << endl;
	for (int i = 0; i < len; i++)
	{
		cout << arr[i]; cout << " ";
	}

	system("pause");
	return 0;
}

2 二维数组

2.1 二维数组定义方式

二维数组定义的四种方式:

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

2.2 二维数组数组名

  • 查看二维数组所占内存空间
  • 获取二维数组首地址

二维数组数组名的作用和一维数组类似。

—— END ——


Reference

  • [1]:https://www.bilibili.com/video/BV1VJ411M7WR