二维数组的使用

简介: 这篇内容介绍了二维数组的概念,它是将一维数组作为元素构成的数组,也称为多维数组。文章详细讲解了如何创建二维数组,包括指定行数和列数,并展示了不同类型的初始化方式:不完全初始化(剩余元素设为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,};



二维数组的访问


如下:



结果为:




二维数组在内存中的存储


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


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


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


如下:



结果为:



输出数组中的所有元素


如下:



结果为:


目录
相关文章
|
Java Maven
maven篇4:pom文件详解
maven篇4:pom文件详解
843 3
|
Web App开发
如何搭建 Scratch 官方网页版?真正意义上的一键安装部署
功能介绍 Scratch 是一款由麻省理工学院(MIT) 设计开发的一款面向少年的简易编程工具,Scratch 已经是少儿编程行业的基础软件。使用 Scratch,你可以编写属于你的互动媒体,像是故事、游戏、动画,然后你可以将你的创意分享给全世界。
8814 0
|
Kubernetes 监控 网络协议
在K8S中,Pod有几种探针?
在K8S中,Pod有几种探针?
|
10月前
|
算法 容器
【算法】——双指针算法合集(力扣)
移动零,复写零,快乐数,盛最多水的容器,有效三角形的个数,和为s的两个数(查找总价格为目标值的两个商品 ),三数之和,四数之和
|
11月前
|
设计模式 测试技术 Go
学习Go语言
【10月更文挑战第25天】学习Go语言
168 4
|
存储 JavaScript 安全
Web中的C/S架构
Web中的C/S架构
761 0
|
算法 固态存储 调度
操作系统:磁盘组织与管理
操作系统:磁盘组织与管理
|
存储 消息中间件 Cloud Native
饿了么EMonitor演进史
可观测性作为技术体系的核心环节之一,跟随饿了么技术的飞速发展,不断自我革新。
7980 116
饿了么EMonitor演进史
|
JavaScript
MAC升级nodejs和npm到最新版
第一步,先查看本机node.js版本: node -v 第二步,清除node.js的cache: sudo npm cache clean -f 第三步,安装 n 工具,这个工具是专门用来管理node.
5461 0
|
消息中间件 测试技术
RabbitMQ消费端并发和限流设置
RabbitMQ消费端并发和限流设置
2164 0