一维数组只有一个下标,称为一维数组,其数组元素也称为单下标变量。在实际问题中有很多量是二维的或多维的,因此C语言允许构造多维数组。多维数组元素有多个下标,以标识它在数组中的位置,所以也称为多下标变量。本节只介绍二维数组,多维数组可由二维数组类推而得到。

二维数组的定义

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

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

其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度。例如:int a[3][4];

说明了一个三行四列的数组,数组名为a,其下标变量的类型为整型。该数组的下标变量共有3×4个,即:

a[0][0], a[0][1], a[0][2], a[0][3]

a[1][0], a[1][1], a[1][2], a[1][3]

a[2][0], a[2][1], a[2][2], a[2][3]

二维数组在概念上是二维的,即是说其下标在两个方向上变化,下标变量在数组中的位置也处于一个平面之中,而不是象一维数组只是一个向量。但是,实际的硬件存储器却是连续编址的,也就是说存储器单元是按一维线性排列的。如何在一维存储器中存放二维数组,可有两种方式:一种是按行排列, 即放完一行之后顺次放入第二行。另一种是按列排列, 即放完一列之后再顺次放入第二列。

在C语言中,二维数组是按行排列的。即,先存放a[0]行,再存放a[1]行,最后存放a[2]行。每行中有四个元素也是依次存放。由于数组a说明为int类型,该类型占两个字节的内存空间,所以每个元素均占有两个字节。

二维数组元素的引用

二维数组的元素也称为双下标变量,其表示的形式为:

数组名[下标][下标]

其中下标应为整型常量或整型表达式。例如:

a[3][4]

表示a数组三行四列的元素。

php二维数组声明方式,二维数组怎么定义相关推荐

  1. 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)

    相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...

  2. php 全局变量能定义数组吗,php数组声明、遍历、数组全局变量使用小结

    php教程:数组声明,遍历,数组全局变量 复制代码 代码如下: /* * 一.数组的概述 * 1.数组的本质:管理和操作一组变量,成批处理 * 2.数组时复合类型(可以存储多个) * 3.数组中可以存 ...

  3. Java的知识点16——数组概述和特点、数组声明、初始化、数组的遍历、for-each循环、数组的拷贝

    数组的定义 数组是相同数据类型的有序集合.数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们.数组的三个基本特点 ...

  4. java 数组声明并初始化_Java数组的声明与初始化

    在<Java数组简介>一节中,我们已经了解了什么是数组.什么是基本数据类型的数组,那么大家是不是迫不及待地想知道一个基本数据类型的数组是什么样子的呢?下面我们就一起来揭开它神秘的面纱吧! ...

  5. ES6学习笔记二 新的声明方式和变量的解构赋值!

    新的声明方式 在ES5的时候,我们只有一个声明方式,var!但是在es6中,声明进行了扩展,我们加上ES5的var的申明方式,我们有了三种声明方式: var:它是variable的简写,可以理解成变量 ...

  6. java数组声明语句是_Java数组的声明和遍历

    Java 数组 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如 n ...

  7. C语言基础---指针数组----初始化方式常量指针数组、指针常量数组

    文章目录 1.方式一:变量的地址放入数组中 2.方式二:字符赋值 3.方式三:字符串赋值 4.为什么指针不能修改字符串.可以修改字符数组?? 5.常量指针数组----三点注意 6.指针常量数组---- ...

  8. java创建数组的方式_Java创建数组的几种方式总结

    1.一维数组的声明方式: type[] arrayName; 或 type arrayName[]; 附:推荐使用第一种格式,因为第一种格式具有更好的可读性,表示type[]是一种引用类型(数组)而不 ...

  9. java数组声明语句代码,Java 数组(学习 Java 编程语言 013-014)

    数组存储相同类型的序列. 1. 数组声明 数组是一种数据结构,用来存储同一类型值的集合.通过一个整型下标(index,或称索引)可以访问数组中的每一个值. 在声明数组变量时,需要指出数组类型(数据元素 ...

  10. 二维数组,锯齿数组和集合 C# 一维数组、二维数组(矩形数组)、交错数组(锯齿数组)的使用 C# 数组、多维数组(矩形数组)、锯齿数组(交叉数组)...

    二维数组,锯齿数组和集合 一.二维数组 二维数组: 一维数组----豆角 二维数组----表格 定义: 1.一维数组: 数据类型[] 数组变量名 = new 数据类型[数组长度]; 数据类型[] 数组 ...

最新文章

  1. javaweb友好的删除提示语句!
  2. 【译】 WebSocket 协议第十一章——IANA 注意事项(IANA Considerations)
  3. 多目标线性规划求解方法及matlab实现
  4. 02 数据类型 (向量 数据框 矩阵和列表
  5. php yield 递归,递归运行所有yield请求h的废弃输出文件
  6. 题目1256:找出两个只出现了一次的数字
  7. [云炬创业基础笔记]第九章企业的法律形态测试2
  8. 汉仪尚巍手书_汉仪尚巍手书免费版
  9. 中秋干货 | 架构进阶之路上的实时数仓
  10. 只能输入正整数 已经常用的正则表达式
  11. yii2 关系...
  12. 《图论及其应用》期末复习汇总
  13. 操作系统系列(三)——编译和链接
  14. CUDA-CODE3-查询GPU设备属性
  15. BitTorrent Sync简介
  16. Mysql 密码忘了怎么办?
  17. 中秋节的广西甘蔗——智蔗见智·向新而生
  18. 公民身份号码是一种由18位数字组成的特征组合码,其排列顺序从左至右依次为:6位数字地址码、8位数字出生日期码,3位数字顺序码和1位数字校验码(校验码若为10则用字符X来表示)。编写程序从键盘输入一个
  19. 信捷口罩机程序,带注释,信捷触摸屏信捷PLC.
  20. SparkStreaming实时计算pv和uv,注意事项以及生产问题

热门文章

  1. 5G关键技术之D2D
  2. IDEA启动报错:Error launching IDEA if you already have a 64-bit JDK installed,define a JAVA_HOME
  3. 注册测绘师考试(个人总结)—工程测量、地籍测量、房产测量、界线测量
  4. 大数据预测模型的深度学习导论
  5. 扩展卡尔曼滤波EKF—目标跟踪中的应用(算法部分)
  6. Krytox VPF1525 VPF1514 VPF1506 XP Chemours DuPont
  7. 对中文GB2312编码和解码
  8. 龙格-库塔(Runge-Kutta)
  9. opencv双目测距
  10. 邮件服务器加密方式,盈世Coremail邮件系统四种安全加密方式揭秘