二维数组的使用

简介: 这篇内容介绍了二维数组的概念,它是将一维数组作为元素构成的数组,也称为多维数组。文章详细讲解了如何创建二维数组,包括指定行数和列数,并展示了不同类型的初始化方式:不完全初始化(剩余元素设为0)和完全初始化。此外,还提到了按照行初始化的语法。内容中强调了C语言中二维数组的行和列都从0开始计数,并通过示例解释了如何访问和输出数组元素。最后,讨论了二维数组在内存中的存储方式,它是一维数组数组,元素在内存中是连续存放的。

二维数组


如果把一维数组作为数组的元素,这时候就是二维数组,二维数组以上的数组统称为多维数组。



二维数组的创建


type arr_name[常量值1][常量值2];


例如:


int arr[3][5];


(3表示数组有3行,5表示每行有5个元素,int表示数组里的每个元素都是整型类型,arr是数组名,可以根据实际情况起名字。)


double date[2][8];


二维数组的初始化


在创建变量或者数组的时候,给定一些初始值,被称为初始化,二维数组的初始化和一维数组一样,也是使用大括号初始化的


不完全初始化


依次初始化每一行,当不够的时候,剩余的元素初始化为0


例如:


int arr1[3][5]={1,2};

int arr2[3][5]={0};


完全初始化


例如:


int arr3[3][5]={1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7,};



按照行初始化


int arr4[3][5]={{1,2},{3,4},{5,6}};



初始化时可以省略行,但是不可以省略列


int arr5[ ][5]={1,2,3};

int arr6[ ][5]={1,2,3,4,5,6,7};

int arr7[ ][5]={{1,2},{3,4},{5,6}};




二维数组的下标


二维数组的访问也是使用下标的形式,二维数组是有行和列的,只要锁定了行和列就能唯一锁定二维数组里的一个元素


C语言规定,二维数组的行是从0开始的,列也是从0开始的


如下:


int arr[3][5]={1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7,};



二维数组的访问


如下:



结果为:




二维数组在内存中的存储


二维数组在内存中也是连续存放的


二维数组是一个存放一维数组的数组,二维数组的每个元素是一维数组


和一维数组一样,我们可以打印出二维数组中所有元素的地址


如下:



结果为:



输出数组中的所有元素


如下:



结果为:


目录
相关文章
|
机器学习/深度学习 固态存储 安全
表情识别-情感分析-人脸识别(代码+教程)
表情识别-情感分析-人脸识别(代码+教程)
|
JavaScript 前端开发 索引
如何判断一个值是否在数组内?
如何判断一个值是否在数组内?
|
Java 应用服务中间件
idea tomcat 404 无法自动打开本地项目war包路径
idea tomcat 404 无法自动打开本地项目war包路径
454 0
|
Web App开发
如何搭建 Scratch 官方网页版?真正意义上的一键安装部署
功能介绍 Scratch 是一款由麻省理工学院(MIT) 设计开发的一款面向少年的简易编程工具,Scratch 已经是少儿编程行业的基础软件。使用 Scratch,你可以编写属于你的互动媒体,像是故事、游戏、动画,然后你可以将你的创意分享给全世界。
9212 0
|
Kubernetes 监控 网络协议
在K8S中,Pod有几种探针?
在K8S中,Pod有几种探针?
|
存储 监控 NoSQL
【赵渝强老师】Redis的RDB数据持久化
Redis 是内存数据库,提供数据持久化功能以防止服务器进程退出导致数据丢失。Redis 支持 RDB 和 AOF 两种持久化方式,其中 RDB 是默认的持久化方式。RDB 通过在指定时间间隔内将内存中的数据快照写入磁盘,确保数据的安全性和恢复能力。RDB 持久化机制包括创建子进程、将数据写入临时文件并替换旧文件等步骤。优点包括适合大规模数据恢复和低数据完整性要求的场景,但也有数据完整性和一致性较低及备份时占用内存的缺点。
490 6
|
存储 SQL 关系型数据库
mysql 的ReLog和BinLog区别
MySQL中的重做日志(Redo Log)和二进制日志(Binary Log)是两种重要的日志系统。重做日志主要用于保证事务的持久性和原子性,通过记录数据页的物理修改信息来恢复未提交的事务更改。二进制日志则记录了数据库的所有逻辑变化操作,用于数据的复制、恢复和审计。两者在写入时机、存储方式、配置参数和使用范围上有所不同,共同确保了数据库的稳定性和可靠性。
330 2
|
机器学习/深度学习 PyTorch API
|
JavaScript
MAC升级nodejs和npm到最新版
第一步,先查看本机node.js版本: node -v 第二步,清除node.js的cache: sudo npm cache clean -f 第三步,安装 n 工具,这个工具是专门用来管理node.
6274 0
|
机器学习/深度学习 人工智能 自然语言处理
深入理解TF-IDF、BM25算法与BM25变种:揭秘信息检索的核心原理与应用
深入理解TF-IDF、BM25算法与BM25变种:揭秘信息检索的核心原理与应用