【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;

}

相关推荐
mit6.8243 小时前
bfs|栈
算法
tobebetter95273 小时前
How to manage python versions on windows
开发语言·windows·python
9***P3343 小时前
PHP代码覆盖率
开发语言·php·代码覆盖率
CoderYanger4 小时前
优选算法-栈:67.基本计算器Ⅱ
java·开发语言·算法·leetcode·职场和发展·1024程序员节
jllllyuz4 小时前
Matlab实现基于Matrix Pencil算法实现声源信号角度和时间估计
开发语言·算法·matlab
稚辉君.MCA_P8_Java4 小时前
DeepSeek 插入排序
linux·后端·算法·架构·排序算法
多多*4 小时前
Java复习 操作系统原理 计算机网络相关 2025年11月23日
java·开发语言·网络·算法·spring·microsoft·maven
凌康ACG4 小时前
Sciter之c++与前端交互(五)
c++·sciter
p***43484 小时前
Rust网络编程模型
开发语言·网络·rust
ᐇ9595 小时前
Java集合框架深度实战:构建智能教育管理与娱乐系统
java·开发语言·娱乐