CH05_数组


概述

定义:一组相同类型的数据的集合。

描述:

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

2.数组是由连续的内存位置组成的。

3.数组索引是从0开始

一维数组

语法:

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

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

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

示例:

#include <iostream>
using namespace std;


int main() {

	//方式1
	int nums1[5];
	nums1[0] = 23;
	nums1[1] = 17;
	nums1[2] = 35;

	//方式2
	int nums2[5] = { 12,35,100 };

	//方式3
	int nums3[]= { 12,35,100 };

	//访问单个元素
	cout << nums2[4] << endl;

	//遍历所有元素
	int length = sizeof(nums2) / sizeof(nums2[0]);
	for (int i = 0; i < length; i++) {
		cout << nums2[i] << endl;
	}
 
	//查看内存地址
	cout << "数组首地址为:" << (int)nums2 << endl;
	cout << "数组中第一个元素地址为:" << (int)&nums2[0] << endl;
	cout << "数组中第二个元素地址为:" << (int)&nums2[1] << endl;

	system("pause");
	return 0;
}

二维数组

语法:

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

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

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

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

示例:

#include <iostream>
using namespace std;

int main() {

	//方式1.数据类型 数组名[行数][列数];
	int arr1[2][3];
	arr1[0][0] = 11;
	arr1[0][1] = 12;
	arr1[0][2] = 13;
	arr1[1][0] = 14;
	arr1[1][1] = 15;
	arr1[1][2] = 16;

	//外层控制行数
	for (int i = 0; i < 2; i++) {
		//内层控制列数
		for (int j = 0; j < 3; j++) {
			cout << arr1[i][j] <<"\t";
		}
		cout << endl;
	}

	cout << "-------------------" << endl;

	//方式2.数据类型 数组名[行数][列数] = { {值1,值2},{值3,值4} };
	int arr2[2][3] = 
	{
		{12,25,33},
		{13,26,27}
	};

	//外层控制行数
	for (int i = 0; i < 2; i++) {
		//内层控制列数
		for (int j = 0; j < 3; j++) {
			cout << arr2[i][j]<<"\t";
		}
		cout << endl;
	}
	cout << "-------------------" << endl;

	//方式3.数据类型 数组名[行数][列数] = { 值1,值2,值3,值4 };
	int arr3[2][3] = {1,2,3,4,5,6};//输入数值数量超出范围,则会编译不通过

	//外层控制行数
	for (int i = 0; i < 2; i++) {
		//内层控制列数
		for (int j = 0; j < 3; j++) {
			cout << arr3[i][j] << "\t";
		}
		cout << endl;
	}
	cout << "-------------------" << endl;

	//方式4.数据类型 数组名[][列数] = { 值1,值2,值3,值4 };
	int arr4[][3] = { 1,2,3,4,5,6,7,8 };//自动计算行数

	//数组行数:(sizeof(a) / sizeof(int)) / (sizeof(a[0]) / sizeof(int))
	//数组列数:(sizeof(a[0]) / sizeof(int))
	int row = (sizeof(arr4) / sizeof(int)) / (sizeof(arr4[0]) / sizeof(int));
	//外层控制行数	
	for (int i = 0; i < row; i++) {
		//内层控制列数
		for (int j = 0; j < 3; j++) {
			cout << arr4[i][j] << "\t";
		}
		cout << endl;
	}
	cout << "-------------------" << endl;

	//获取二维数组内存地址
	cout << "数组首地址:" << (int)arr4 << endl;
	cout << "数组第一行第一列:" << (int)&arr4[0][0] << endl;
	cout << "数组第一行第二列:" << (int)&arr4[0][1] << endl;
	cout << "数组第二行第一列:" << (int)&arr4[1][0] << endl;

	
	system("pause");
	return 0;
}
posted on 2024-06-11 20:31  熊猫_大侠  阅读(4)  评论(0编辑  收藏  举报