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个字节,所以二维数组的每个元素是连续存放的

结尾:

感谢大家的阅读!!!

相关推荐
呜喵王阿尔萨斯14 分钟前
编程中的英语
c语言·c++
糖葫芦君35 分钟前
Policy Gradient【强化学习的数学原理】
算法
only-lucky1 小时前
C语言socket编程-补充
服务器·c语言·php
向阳@向远方2 小时前
第二章 简单程序设计
开发语言·c++·算法
JeffersonZU2 小时前
Linux/Unix进程概念及基本操作(PID、内存布局、虚拟内存、环境变量、fork、exit、wait、exec、system)
linux·c语言·unix·gnu
github_czy3 小时前
RRF (Reciprocal Rank Fusion) 排序算法详解
算法·排序算法
许愿与你永世安宁4 小时前
力扣343 整数拆分
数据结构·算法·leetcode
爱coding的橙子4 小时前
每日算法刷题Day42 7.5:leetcode前缀和3道题,用时2h
算法·leetcode·职场和发展
ruanjiananquan994 小时前
c,c++语言的栈内存、堆内存及任意读写内存
java·c语言·c++
满分观察网友z4 小时前
从一次手滑,我洞悉了用户输入的所有可能性(3330. 找到初始输入字符串 I)
算法