【C++】二维数组

二维数组就是在一维数组上多加一个维度。

二维数组的定义方式

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

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

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

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

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

建议:以上4中定义方式,利用第二种更加直观,提高代码的可读性。

示例:
第一种定义方式:(1)数据类型 数组名[行数][列数];

第二种定义方式:(2)数据类型 数组名[行数][列数]={{数据1,数据2},{数据3,数据4}};

第三种定义方式:(3)数据类型 数组名[行数][列数]={数据1,数据2,数据3,数据4};

第四种定义方式:(4)数据类型 数组名[ ] [列数]={数据1,数据2};

二维数组数组名

二维数组数组名的作用:

(1)查看二维数组所占内存空间

(2)获取二维数组首地址

示例:

代码:

//二维数组数组名的作用:

#include<iostream>

using namespace std;

int main()

{

//查看占用内存空间大小

int arr[2][2] = { {1,2},{10,2350} };

cout << "二维数组占用内存空间大小:" << sizeof(arr) << endl;

cout << "二维数组第一行占用内存空间为:" << sizeof(arr[0]) << endl;

cout << "二维数组第一个元素所占内存空间:" << sizeof(arr[0][0]) << endl;

cout << "二维数组行数为:" << sizeof(arr) / sizeof(arr[0]) << endl;

cout << "二维数组列数为:" << sizeof(arr[0]) / sizeof(arr[0][0]) << endl;

system("pause");

return 0;

}

二维数组应用案例:

案例描述:

有三位同学(张三、李四、王五),在一次考试中的成绩分别如下表,请分别输出三名同学的总成绩。

语文 数学 英语

张三 100 100 100

李四 90 50 100

王五 60 70 80

代码:

//二维数组的案例

#include<iostream>

#include<string>

using namespace std;

int main()

{

int scores[3][3] = { {100,100,100},{90,50,100},{60,70,90} };

string names[3] = { "张三","李四","王五" };

for (int i = 0; i < 3; i++)

{

int sum = 0;

for (int j = 0; j < 3; j++)

{

sum += scores[i][j];

}

cout << names[i] << "的总分为:" << sum << endl;

}

system("pause");

return 0;

}

相关推荐
虾球xz1 小时前
游戏引擎学习第276天:调整身体动画
c++·学习·游戏引擎
Aric_Jones1 小时前
lua入门语法,包含安装,注释,变量,循环等
java·开发语言·git·elasticsearch·junit·lua
Akiiiira1 小时前
【日撸 Java 三百行】Day 12(顺序表(二))
java·开发语言
虾球xz1 小时前
游戏引擎学习第275天:将旋转和剪切传递给渲染器
c++·学习·游戏引擎
AndrewHZ1 小时前
【图像处理基石】什么是油画感?
图像处理·人工智能·算法·图像压缩·视频处理·超分辨率·去噪算法
.格子衫.1 小时前
015枚举之滑动窗口——算法备赛
数据结构·算法
EndingCoder1 小时前
2025年JavaScript性能优化全攻略
开发语言·javascript·性能优化
J先生x2 小时前
【IP101】图像处理进阶:从直方图均衡化到伽马变换,全面掌握图像增强技术
图像处理·人工智能·学习·算法·计算机视觉
爱coding的橙子5 小时前
每日算法刷题 Day3 5.11:leetcode数组2道题,用时1h(有点慢)
算法·leetcode
码上淘金6 小时前
【Python】Python常用控制结构详解:条件判断、遍历与循环控制
开发语言·python