C语言3×3二维数组,c语言二维数组的用法

  C语言3×3二维数组,c语言二维数组的用法

  Yyds干货库存

  二维数组:首先介绍一维数组。接下来介绍如何定义和使用二维数组。

  二维数组定义的一般形式如下:

  类型说明符数组名[常量表达式1][常量表达式2]与一维数组定义的唯一区别是增加了常量表达式2,其中常量表达式1是第一维的长度,常量表达式2是第二维的长度。通常,在处理二维数组时,为了便于理解,将数组视为一个矩阵。常数表达式1指示矩阵中的行数,而常数表达式2指示矩阵中的列数。与一维数组一样,在定义二维数组时,常量表达式不能是变量。我们先通过一段代码来看看二维数组的定义。

  # include stdio . h # define M 4 # define N 3 int main(){ int arr[M][N];for(int I=0;I I){ for(int j=0;j j ) { printf( arr[%d][%d]=%d\t ,I,j,arr[I][j]);} printf( \ n );}返回0;}运行结果:

  把二维数组arr想象成一个矩阵。下图显示了数组中的每个元素在矩阵中的存储位置。

  数组中每个元素在矩阵中的对应位置由二维数组的两个下标决定。我们可以把定义的二维数组int arr[4][3]看成由arr[4]和int [3]两部分组成,把arr[4]看成一个包含arr[0]、arr[1]、arr[2]和arr[3]四个元素的整数一维数组,每个元素都是int[3]。

  了解了2D数组的这种特殊结构之后,接下来,我们可以通过下图了解2D数组在内存中的存储结构。

  根据二维数组的内存结构图可以发现,二维数组中的所有元素都存储在一个连续的内存单元中,所占用的内存大小是元素类型乘以第一维和第二维的长度所占用的内存大小。如果按矩阵分析二维数组的存储方式,从左到右存储矩阵第一行的所有元素,然后同样存储第二行的所有元素,直到存储完所有数组元素。

  接下来,看一个二维数组的例子:

  进入任意一个3行3列的二维数组,求对角元素之和。

  # define _ CRT _ SECURE _ NO _ WARNINGS # include stdio . h int main(){ int arr[3][3];int i,j,sum=0;printf(请输入:\ n );for(I=0;I I){ for(j=0;j j ) { scanf(%d ,arr[I][j]);} } for(I=0;I I){ for(j=0;j j){ if(I==j){ sum=arr[I][j];} } } printf(结果为:%d\n ,sum);返回0;}运行结果如下:

  二维数组就说这么多,后面会继续更新。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: