3.C++之二维数组

C++基础知识 - 二维数组的访问 二维数组的访问 a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 如下图表示,左侧表示的是一个大小为 M+1 的一维数组,右侧表示的是一个大小 为(M+1)*(N+1)的二维数组。 阅读详情

学习目标:

二维数组是一维数组的延申,掌握二维数组的定义方式以及清楚算出该数组的行和列数


学习内容:

1.二维数组的定义方式

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

查看二维数组所占内存空间:
sizeof(arr)//查看二维数组arr所占内存空间
获取二维数组首地址:
cout<<arr<<endl;//查看二维数组arr的首地址

具体代码如下:

#include<iostream>
using namespace std;
int main()
{
	int arr[3][4] = { {1,2,3,4},
					  {5,6,7,8},
					  {9,10,11,12} 
					};
	cout << "二维数组arr所占内存空间:" << sizeof(arr) << endl;
	cout << "二维数组arr的首地址:" << arr << endl;
	system("pause");
	return 0;
}

在这里插入图片描述

2.二维数组的行数和列数计算

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;
具体代码如下所示:

#include<iostream>
using namespace std;
int main()
{
	int arr[3][4] = { {1,2,3,4},
					  {5,6,7,8},
					  {9,10,11,12} 
					};
	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;
}

在这里插入图片描述

示例一

#include<iostream>
#include<string>
using namespace std;
int main()
{
	string name[2][4] = { { "姓名","张三","李四","王五" },
						  { "分数","114","112","116" }
						};
	for (int i = 0; i < 2; i++)
	{
		for (int j = 0; j < 4; j++)
		{
			cout << name[i][j] << "\t ";
		}
		cout << endl;
	}
	system("pause");
	return 0;
}

在这里插入图片描述


ESP32-S3开发板实战:5分钟搞定智能门铃的音视频通话功能(附源码) 本文详细介绍了如何利用乐鑫ESP32-S3开发板快速实现智能门铃的实时音视频通话功能。通过ESP-ADF框架和RTC服务,开发者可在五分钟内完成环境搭建与核心功能调试,并附有源码和关键配置详解,为嵌入式音视频应用开发提供了高效实践路径。 阅读详情

相关推荐

C++基础教程9-二维数组

文章目录一. 二位数组的概述二.定义二位数组的四种方法1.定义二维数组的第一种方法2.定义二维数组的第二种方法3.定义二维数组的第三种方法4.定义二维数组的第四种方法三.二维数组的案例四.一张图理解二维数组五.总结篇章 一. 二位数组的概述 二维数组:从字面意思来看,二维数组只是比一维数组多了一个维度。 二.定义二位数组的四种方法 ①数据类型 数组名 [ 行数 ] [ 列数 ]; int arr[2][3] ②数据类型 数组名 [行数] [列数] = {{数据1,数据2},{数据3,数据4}}; int

William_fang的博客 4031

从Verilog到GDS:手把手教你搞定Calibre LVS物理验证(附常见报错解决)

本文详细介绍了从Verilog到GDS的Calibre LVS物理验证全流程,包括工具链配置、RTL到SPICE网表转换、LVS运行配置及高级技巧。重点解析了常见报错如网络不匹配、器件不匹配和电源引脚缺失的解决方案,帮助工程师高效完成芯片物理验证,确保设计正确性。

culing2941的博客 508

c++二维数组详解

每行使用一个一维数组是可以的,例如:第一行使用数组int a[4],第二行使用数组int b[4],第三行使用数组int c[4]。以上A,B,C,D,E,F,G,H共8个位置的学生就是与小明同学“密切相关”的人。假如我们要保存100个整数,我们可以使用一维数组,定义数组int a[100],然后就可以把这100个整数保存在数组的a[0],a[1],......a[99]。第i行第j列的元素就是d[i][j],d[i][j]相当于一个普通的整型变量,它的用法相当于一个普通的整型变量的用法。

浪子回头 1万+

RK3588交叉编译实战:从环境搭建到程序部署

本文详细介绍了在X86主机上为RK3588开发板搭建交叉编译环境的完整流程。从获取ARM工具链、配置sysroot,到实战编译Hello World和Qt应用程序,并提供了部署方法和常见问题解决方案。通过交叉编译,开发者可以在高性能PC上高效开发,并在ARM架构的RK3588上运行程序,大幅提升嵌入式开发效率。

weixin_29191669的博客 274

LEfSe分析避坑指南:如何解决R语言中的常见错误与优化结果可视化

本文提供了R语言中进行LEfSe(线性判别分析)微生物组差异分析的全流程避坑指南。详细解析了从数据格式准备、参数调优(如显著性水平与LDA阈值)、结果可靠性验证到使用ggplot2进行高级可视化的实战技巧,帮助用户规避常见错误,获得更稳健、美观的分析结果。

weixin_29098391的博客 362

C++基础04——数组

学习笔记

m0_62564420的博客 455

Apollo Planning决策规划算法代码详细解析 (1):Scenario选择

本文重点讲解Apollo代码中怎样配置Scenario以及选择当前Scenario,Scenario决策是Apollo规划算法的第一步,本文会对代码进行详细解析,也会梳理整个决策流程,码字不易,喜欢的朋友们麻烦点个关注与赞。 在本文你将学到下面这些内容: 规划器planer的种类; 规划器planer的主要函数及逻辑; 场景管理类ScenarioManager的运行机制; 场景注册方法; 场景决策流程,如何选择当前场景 详细的apollo决策规划代码分析 代码具体过程如下: 1、Scenar

自动驾驶Player的博客 1万+

c语言二维数组行数字列字母,二维数组行列表示方法 C语言是一门通用计算机编程语言...

c语言中二维数组哪个是行,哪个是列二维数组的第一个参数是行,第二个参数是列。二维数组定义的一般形式是: 类型说明符 数组名[常量表达式1][常量表达式2],其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度。C语言是一门通用计算机编程语言c语言中二维数组哪个是行,哪个是列?C语言是一门通用计算机编程语言fortran语言二维数组定义时,第一个数字是行还是列C,C++,Fort...

weixin_35082950的博客 5348

slew dreate,slew threshold与transition计算

​只看rise情况下,from pin取slew threshold10%-90%的区间,slew derate为1,计算得到transition为1.002e-10,to pin的slew threshold 为30%-70%,slew derate 0.5,从波形列表上取相近的值3.75e-10和8.75e-10,计算得到transition为(8.75e-10-3.75e-10)/0.5=1e-9,考虑精度和取值区间问题,基本符合工具计算的值,如下:​。如下示例,在.lib库中有定义以下内容。

m0_61544122的博客 795

i茅台最新任务python脚本

从固定的 `header_context` 生成HTTP请求头,并加入用户的`userId`、`MT-Token`等动态信息,以模仿真实的请求。- 发送预约请求,提交商品和门店的参数,如 `sessionId`、`shopId`、`itemId` 等。- 定时任务:通过 `cron` 表达式 `0 0 9/21 * * *`,表示每月的9日和21日的0点执行。- `login`:使用验证码进行登录,并返回 `token` 和 `userId`。- 获取北京时间当天0点的时间戳,作为预约请求的时间参数。

三维点云技术探索 985

二维数组传参,用int指针接收

二维数组传参,用int*接收 前言 //我们直到二维数组的数组名是一个地址,等于arr[0][0],即通过值来看,arr=&arr[0][0] //而下方的Print函数调用,传递的参数却是&arr[0][0],疑问来了,直接传数组名可以吗?(一维数组可以) #include<stdio.h> void Print(int* arr) { for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) {

jokerMingge的博客 1186

微信小程序 - request:fail errcode:10011 cronet_error_code:0 error_msg:network change, cancel all task请求报错

微信小程序请求接口,报request:fail errcode:10011是什么原因,uniapp微信小程序request:fail errcode:10011 cronet_error_code:0 error_msg:network change, cancel all task,微信小程序wx.request常规访问接口,有个别用户的接口请求频繁报错,UniApp 微信小程序uni.request请求接口报错:request:fail errcode:10011 的原因分析与解决方案,苹果ios,安卓

🏆 前端领域优质创作者 4567

C++ 3维数组指针声明的3种方式

指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针 数组指针:a pointer to an array,即指向数组的指针 还要注意的是他们用法的区别,下面举例说明。 int* a[4]     指针数组                       表示:数组a中的元素都为int型指针                      元素表示:*a[

大鹏的专栏 5863

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

UE4【C++】【实现2维和3维数组】

template <typename T> class Array3D { public: Array3D(unsigned int _length, unsigned int _width, unsigned int _height, const T& defaultValue) : length(_length) , width(_width) , height(_height) { for (unsigned int x = 0; x < length;.

yuxikuo_1的专栏 2917

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

对于C++中二维数组的地址的理解

首先,我自己犯的最多的错误不在于对二维数组(python里面ndarray的理解类似),可以看成由两个一维数组迭代出来的结果,主要区分运用 int*p[3] 与int (*p)[3]; 这两个中对于二维数组比较常用的是 int (p)[3]=a (其中a已经定义为34的二维数组) 实例上来看: int main() { int a[3][4] = { 0,1,2,3,4,5,6,7,8,9,...

Frankkkkkk的博客 1853

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

C++使用vector方法动态创建三维/四维/五维等高维数组

运行平台 window10,64位 VS2019 C++使用vector方法动态创建三维/四维/五维等高维数组,并且实列 功能实现 创建三维数组a1[n][m][k]全部赋值为3 创建四维数组a2[n][m][k][p]全部赋值为4 创建五维数组a3[n][m][k][p][q]全部赋值为5 并将数组里面的值进行显示。 具体代码请点击下面链接查看 点击查看源码 运行结果 (部分结果显示如下)欢迎留言讨论~ ...

IT猿手 5986

C++的部分知识

但4不可以省略,其实际表现形式是int【4】 A【3】(非指针角度考虑)int【4】相当于类型。A【3】内包括4个一维数组(实际上是12个)二、C++int字符得到的是ascil码。一、cin会读入到\n 且不读取\n。三、多维数组的第一维大小可以不对应。二维数组的每个元素都是一维数组。getline读到\n终止。

Chuilong_Chen的博客 107

《C++ Primer》练习3.43-3.45: 打印二维数组的元素

《C++ Primer》练习3.43-3.45: 打印二维数组的元素

subtitle_的博客 438

c++备注2

3维数组的问题是数组索引的计算错了。还有平时所说的1024*768是列*行的,脑子中一般认为扫描的顺序是先行后列,    这样的话768需要在外循环,1024在内循环    当然,只要索引计算正确,先行后列和先列后行应该没什么区别    计算otsu错误是因为图像已经归一化到[0,1],otsu中用到的是[0,255],这样看来,不应该一开始就把图像归一化进行处理    *****2009-7-2

1284

C++ 多维数组 分配连续内存空间

3维数组举例 int*** malloc_arr(int x, int y, int z, int default_value = 0) { // 分配空间 int*** arr = new int** [x]; arr[0] = new int* [x * y](); arr[0][0] = new int[x * y * z](); // 初始化第二维 for (int i = 1; i < x; i++) arr[i] = arr[i - 1] + y; // 初始化第三维

A.A的博客 1195

c++数组矩阵 矩阵元素根据主次对角线进行交换

#include&lt;bits/stdc++.h&gt; using namespace std; int main() { int i,j,t; int p[100][100]; for(i=0;i&lt;3;i++) { for(j=0;j&lt;3;j++) { cin&gt;&gt;p[i][j]; ...

qq_39352109的博客 5229

C++初学(二维数组)

摘要:本文介绍了C语言中二维数组的概念、创建初始化方法及使用技巧。二维数组可视为以行和列排列的一维数组集合,可通过arr[i][j]访问元素。文章详细展示了完全/不完全初始化方式,并指出可省略行数但不能省略列数。通过代码示例演示了二维数组的访问和遍历方法,并验证了其在内存中的连续存储特性。此外,还介绍了字符数组的两种初始化方式及其内存差异,提供了3×3矩阵转置的实践案例。最后讲解了C99标准中的变长数组特性(VLA),说明其运行时确定大小的特点及编译器支持情况。

lllixxx的博客 870

Qwen3.5 Block在llama.cpp中的深度适配与实现

Transformer Block是大语言模型推理的核心计算单元,其架构设计直接影响推理效率与数值稳定性。Qwen3.5采用动态RoPE、分组查询(GQA)和混合归一化等非标Block结构,突破了llama.cpp对标准Llama系架构的硬编码假设。理解Block级语义映射、KV Cache内存布局重构与算子级RoPE实现,是实现高性能本地推理的关键技术路径。本文聚焦Qwen3.5 Block在llama.cpp中的工程落地,覆盖GGUF解析扩展、CUDA内存重排、LayerNorm bias加载及Wind

weixin_42116058的博客 301

C++ 和 C 的效率比较

对于很多人来说,C++ 似乎比 C 易用,很多捧 C++ 的也说,C++ 具有 C 的效率。不过,说来说去,还是需要分析一下才行。 比如,对于一个3维坐标的点来说,建一个 C++ 的类,大概会是: class point_cpp{ protected: int x_, y_, z_; point_cpp(int x, int y, int z) : x_(x), y_(y), z_(z) { } ...... }; 对 C 来说,即是: struct point_c

liangar的专栏 3226

OpenCV (c++) 数组计算: 图像(3维数组)

注意:Mat中的数据类型设为CV_8U。在矩阵的基础上,通道上由1改为3。

weixin_51133173的博客 392
上一篇: 2.C++之一维数组
下一篇: 4.C++之函数
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值