本节内容:二维数组
#include <iostream>
using namespace std;
//二维数组
int main()
{
/*
二维数组定义的四种方式:
1.数据类型 数组名[行数][列数];
2.数据类型 数组名[行数][列数] = {{数据1,数据2},{数据3,数据4}};
3.数据类型 数组名[行数][列数] = {数据1, 数据2, 数据3, 数据4};
4.数据类型 数组名[ ][列数] = {数据1, 数据2, 数据3, 数据4};
*/
//1.数据类型 数组名[行数][列数];
int arr1[2][3]; //2行3列
arr1[0][0] = 1;
arr1[0][1] = 2;
arr1[0][2] = 3;
arr1[1][0] = 4;
arr1[1][1] = 5;
arr1[1][2] = 6;
cout << arr1[0][0] << endl;
cout << arr1[0][1] << endl;
cout << arr1[0][2] << endl;
cout << arr1[1][0] << endl;
cout << arr1[1][1] << endl;
cout << arr1[1][2] << endl;
//嵌套循环输出二维数组:外层控制行数,内层控制列数
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 3; j++)
{
cout << arr1[i][j] << endl;
}
}
//2.数据类型 数组名[行数][列数] = {{数据1,数据2},{数据3,数据4}};
int arr2[2][3] =
{
{1, 2, 3},
{4, 5, 6}
}; //两行三列,推荐这个创建方法,很直观。
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 };
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 };
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 3; j++)
{
cout << arr4[i][j] << " ";
}
cout << endl;
}
//二维数组名的作用
/*
1、查看二维数组所占内存空间
2、获取二维数组首地址
*/
//1、查看二维数组所占内存空间
cout << "二维数组arr2占用的内存空间为:" << sizeof(arr2) << endl;
cout << "二维数组arr2第一行占用内存为:" << sizeof(arr2[0]) << endl;
cout << "二维数组arr2第一个元素占用内存为:" << sizeof(arr2[0][0]) << endl;
cout << "二维数组arr2的行数为:" << sizeof(arr2) / sizeof(arr2[0]) << endl;
cout << "二维数组arr2的列数为:" << sizeof(arr2[0]) / sizeof(arr2[0][0]) << endl;
//2、获取二维数组首地址
cout << "二维数组arr2的首地址为:" << (long long)arr2 << endl;
cout << "二维数组arr2第一行的首地址为:" << (long long)arr2[0] << endl;
cout << "二维数组arr2第二行的首地址为:" << (long long)arr2[1] << endl;
cout << "二维数组arr2第一个元素的首地址为:" << (long long)&arr2[0][0] << endl;
cout << "二维数组arr2第二个元素的首地址为:" << (long long)&arr2[0][1] << endl;
//二维数组应用案例
/*
考试成绩统计:
案例描述:有三名同学(张三,李四,王五),
在一次考试中的成绩分别如下表,
请分别输出三名同学的总成绩。
| | 语文 | 数学 | 英语 |
| ---- | ---- | ---- | ---- |
| 张三 | 100 | 100 | 100 |
| 李四 | 90 | 50 | 100 |
| 王五 | 60 | 70 | 80 |
*/
string names[3] = { "张三", "李四", "王五" };
int arr5[3][3] =
{
{100, 100, 100},
{90, 50, 100},
{60, 70, 80}
};
for (int i = 0; i < 3; i++)
{
int sum = 0;
for (int j = 0; j < 3; j++)
{
sum += arr5[i][j];
}
cout << names[i] << "同学本次考试的总成绩为:" << sum << endl;
}
system("pause");
return 0;
}
一节一篇代码,简单粗暴,适合快速学习/复习C++基础知识。