接着上面一期进行,二维数组的一些了解,代码均来自于VS编译环境下。

一、怎样定义二维数组

二维数组和一维数组一样,二维数组的定义方式如下:

  类型说明符 数组名[常量表达式][常量表达式]

注意一个方括号中不能放两个下标,二维数组这种特殊的表示方式又可以看作是一种特殊的一维数组。其次二维数组中的元素是按顺序存放的,我们自己理解的时候可以理解为矩阵,矩阵是按二维形式存放的,但事实上二维数组是线性排列的,不是二维的,这一点要特别注意。

C语言中还允许使用多维数组,这些是可以,但实际中我们用的还是比较少的,我们可以了解一下。在二维以及多维中普遍具有一个特性,就是数组中最靠左的下标变化最快,最右面的变化最慢,大家可以自行观察。

二、怎样引用二维数组

二维数组的引用形式为:

  数组名[下标][下标]

数组元素可以出现在表达式中,也可以被赋值,注意行序号和列序号都是从0开始的,切忌超出范围出现非法访问的情况,例如:int a[3][4]中最后一个元素是a[2][3],而不是a[3][4],这样访问C语言的编译器不会报错,但是是错误的,这种问题需要我们自己进行避免。

三、二维数组的初始化

(1)分行给二维数组进行初始化

int a[2][3]={{123},{456}};

这样给二维数组进行赋值会比较清晰,一行一行进行,不会遗漏数据,如果数据中有大量0时,可以少输入一些,而让系统进行自动初始化,例如:

//4 0 0
//5 0 0
int a[2][3]={{4},{5}};

以这种形式输入后,每行剩余的系统会自动补0;这样可以少输入一些数据,比较方便一点。

(2)直接初始化,不进行分行处理

直接初始化就如同一维数组一样,将所有元素都堆在一起,系统根据初始化的行和列来自动进行规划,这样就不如第一种效果好,大量数据堆在一起不容易查出错误,也容易遗漏数据。

如果进行全部初始化,数组的行也可以省略,但是列不可以省略,系统可以根据元素总个数和列数自动排列每行几个数据,特别要注意数组的初始化是在定义时同时进行的,不可以单独拿出来进行初始化。

四、二维数组的举例

【例1】有一个3*4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

#include <stdio.h>
int main()
{int i,j,row=0,colum=0,max;int [3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};max=a[0][0];for(i=0;i<=2;i++)for(j=0;j<=3;j++)if(a[i][j]>max){max=a[i][j];row=i;colum=j;}printf("max=%d\nrow=%d\ncolum=%d\n",max,row,colum);return 0;
}

输出结果:

到此二维数组结束,之后会继续进行字符数组的写作,有需要的尽请期待。

【C语言】二维数组定义以及引用相关推荐

  1. C语言 二维数组定义和使用 - C语言零基础入门教程

    目录 一.二维数组简介 二.定义二维数组并初始化 1.定义二维数组 2.初始化二维数组 三.访问二维数组 四.修改二维数组 五.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 & ...

  2. C语言 二维数组行数和列数计算 - C语言零基础入门教程

    目录 一.计算一维数组长度 二.计算二维数组长度 1.二维数组行数 2.二维数组列数 3.二维数组的元素个数 = 二维数组行数 * 二维数组列数 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C ...

  3. C语言 二维数组的定义、初始化以及数组元素的引用

    二维数组定义的一般形式为: 类型说明符 数组名[常量表达式 ][常量表达式] 例如:float a[3][4],b[5][10]; 是定义a为3行4列的数组,b为5行10列的数组. 注意不可以写成fl ...

  4. C语言-二维数组的定义、引用

    定义 由行和列组成的二维表格形式元素,二维数组其实也就是矩阵 基本格式:数据类型 数组名[行长度][列长度]; 行长度为二维数组行的个数,必须为常量表达式,不能为变量 列长度为二维数组每一行列的个数, ...

  5. python定义二维数组_二维数组的定义、初始化和输出,C语言二维数组详解

    本节学习二维数组.二维数组与一维数组相似,但是用法上要比一维数组复杂一点.后面的编程中,二维数组用得很少,因为二维数组的本质就是一维数组,只不过形式上是二维的.能用二维数组解决的问题用一维数组也能解决 ...

  6. 二维数组(解引用、指针数组、数组的指针)——C语言

    二维数组 在说二维数组前先来说下一维数组中的指针数组和和数组的指针 一.一维数组中指针数组和数组指针的区别 指针数组: 1 int *p[5]; []的优先级比*高,首先它是一个数组,它的大小是5,它 ...

  7. C语言二维数组的定义、初始化、赋值

    二维数组的定义 二维数组定义的一般形式是: dataType arrayName[length1][length2]; 其中,dataType 为数据类型,arrayName 为数组名,length1 ...

  8. qt 二维数组初始化_C语言二维数组的定义、初始化、赋值

    上节讲解的数组可以看作是一行连续的数据,只有一个下标,称为一维数组.在实际问题中有很多数据是二维的或多维的,因此C语言允许构造多维数组.多维数组元素有多个下标,以确定它在数组中的位置.本节只介绍 二维 ...

  9. C语言 | 二维数组

    C语言二维数组的定义 一般形式 类型说明符 数组名[常量表达式][常量表达式]int a[10][6],b[3][4]; 用矩阵形式表示二维数组,是逻辑上的概念,能形象地表示出行列关系,而在内存中,各 ...

最新文章

  1. circlize包可绘制的几个图形示例
  2. Kali Linux打开多个终端窗口
  3. Scrapy Architecture overview--官方文档
  4. QT学习:QTime类
  5. python怎么画出圆润的曲线_利用python画出AUC曲线的实例
  6. 最全 JavaScript Array 方法 详解
  7. java怎么用一行代码初始化ArrayList
  8. 8、Python车牌数据集自动生成及其图片叠加
  9. 【Axure组件库】苹果官方SF Symbols 3图标库_每个图标均有2-8种风格
  10. word上怎么把图片拼接到一起_word怎么将图片合并
  11. 虚拟机搭建测试环境(一)
  12. 向量的加减法与内外积
  13. 大数据这么火,具体用用到哪些领域?揭秘大数据十三大具体应用场景
  14. python推箱子代码详细讲解_python实现推箱子游戏
  15. 微信小程序之如何注册微信小程序
  16. MATLAB隐函数绘图 使用隐函数作二维图 使用隐函数作三维图
  17. Retrofit详解(一)(Retrofit创建过程)
  18. 频繁模式挖掘 Apriori
  19. Windows保护模式(五)任务段任务门
  20. Flink教程(01)- Flink知识图谱

热门文章

  1. WPF AirSpace 空域问题解决方案
  2. 处女座女的爱情黑暗面 水瓶座男不爱你的表现是什么
  3. 百度智能音箱入局正当时,如何平台+硬件两不误?
  4. 深度好文|面试官:进程和线程,我只问这19个问题
  5. jsp中获取不到servlet中的ArrayList
  6. python 选择文件对话框插件_Python DearPyGui 常用控件一
  7. [Java GUI] 简易Java绘图程序实例
  8. 东南大学计算机科学与网络,顾冠群
  9. PV UV IP的意义
  10. 最终幻想14 服务器维护,《FF14》服务器遭到攻击 官方补偿方案今日不收时长费...