C语言——(二维数组)

一.二维数组的概念

1.前⾯学习的数组被称为⼀维数组,数组的元素都是内置类型的,如果我们把⼀维数组做为数组的元素,这时候就是⼆维数组,⼆维数组作为数组元素的数组被称为三维数组,⼆维数组以上的数组统称为多维数组。

二.二维数组的创建

如何创建二维数组,如下

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

例子:

  1. int 表示数组中的每个元素为整型

  2. arr1表示为数组名字,名字可以根据实际情况起,有意义即可

3.[3][5] ,表示有3行5列,每一行有5个元素

三.二维数组的初始化

1.不完全初始化

1.arr1第一行元素为1和2,其他元素默认为0 , arr2第一行元素为0,其他元素默认为0

2.完全初始化

3行5列,每一行存放满5个元素

3.按照行初始化

二维数组可以按照行进行初始化,但是必须加上{ } ,{ }指定了该行存放的元素,{1,2}第一行,{3,4}第二行,{5,6}第三行,其余的默认为0

4.初始化可以省略行,但不能省略列

为什么二维数组的行可以省略,但列不能省略,因为[5]规定了这一行只能存放5个元素,那么如果我这一行放不满元素,我就只需要一行就可以。如,arr5我只放了{1,2,3}这3个元素,那么列为5,所以我第一行能放5个元素,但只放了3个,那么只需要1行。arr6为7个元素,我第一行放不完,就会接着存放到第二行,arr7花括号{ },就指定了存放的行数。

四.二维数组的使用

二维数组与一维数组的元素访问一样,都是使用下标来进行访问。

二维数组的下标与一维数组的下标一样,都是0下标开始的。二维数组分为行与列,行的下标开始为0,列的下标开始为0,只要我们知道了二维数组的行与列的下标,就可以访问到该二维数组下标的元素。

如下,我想访问第二行的元素5,那么我们知道行与列的下标开始为0,那么行就是0,1,2这三行,列就是0,1,2,3,4这五行,访问第二行第3列,就是arr[1][3]也就是元素5。

五.二维数组的输入与输出

第一个for为产生行,那么我们下标从0开始为0,1,2所以i<3,第二个for为产生列,列的下标为0开始0,1,2,3,4所以,j<5 。

六.二维数组的存储

二维数组的存放我们可以看到,因为是int整型所以他们之间是相差4个字节,所以二维数组的每个元素是连续存放的

结尾:

感谢大家的阅读!!!

相关推荐
知识漫步4 分钟前
代码随想录算法训练营第60期第三十九天打卡
算法
June`8 分钟前
专题五:floodfill算法(太平洋大西洋水流问题)
c++·算法·leetcode·深度优先·剪枝
yanjiee1 小时前
Cursor无法使用C/C++调试的解决办法
c语言·开发语言·c++·vscode
爱吃涮毛肚的肥肥(暂时吃不了版)1 小时前
仿腾讯会议——添加音频
c++·算法·面试·职场和发展·音视频·腾讯会议
梁辰兴2 小时前
数据结构实验10.1:内部排序的基本运算
数据结构·c++·算法·排序算法·c·内部排序
exe4522 小时前
力扣每日一题5-19
java·算法·leetcode
fouen2 小时前
【语义分割专栏】先导篇:评价指标(PA,CPA,IoU,mIoU,FWIoU,F1)
人工智能·算法·机器学习·计算机视觉
菜菜why2 小时前
esp32课设记录(五)整个项目开源github
c语言·esp32
zbh06042 小时前
AcWing 223. 阿九大战朱最学——扩展欧几里得算法
算法
mochensage3 小时前
2025年全国青少年信息素养大赛C++小学全年级初赛试题
开发语言·c++·算法