C语言 多维数组

C 语言支持多维数组。多维数组声明的一般形式如下:

type name[size1][size2]...[sizeN];

例如,下面的声明创建了一个三维 5 . 10 . 4 整型数组:

int threedim[5][10][4];

二维数组

多维数组最简单的形式是二维数组。一个二维数组,在本质上,是一个一维数组的列表。声明一个 x 行 y 列的二维整型数组,形式如下:

type arrayName [ x ][ y ];

其中,type 可以是任意有效的 C 数据类型,arrayName 是一个有效的 C 标识符。一个二维数组可以被认为是一个带有 x 行和 y 列的表格。下面是一个二维数组,包含 3 行和 4 列:

int x[3][4];

因此,数组中的每个元素是使用形式为 a[ i , j ] 的元素名称来标识的,其中 a 是数组名称,i 和 j 是唯一标识 a 中每个元素的下标。

初始化二维数组

多维数组可以通过在括号内为每行指定值来进行初始化。下面是一个带有 3 行 4 列的数组。

int a[3][4] =

{

{0, 1, 2, 3} , /* 初始化索引号为 0 的行 */

{4, 5, 6, 7} , /* 初始化索引号为 1 的行 */

{8, 9, 10, 11} /* 初始化索引号为 2 的行 */

};

内部嵌套的括号是可选的,下面的初始化与上面是等同的:

int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};

访问二维数组元素

二维数组中的元素是通过使用下标(即数组的行索引和列索引)来访问的。例如:

int val = a[2][3];

上面的语句将获取数组中第 3 行第 4 个元素。您可以通过上面的示意图来进行验证。让我们来看看下面的程序,我们将使用嵌套循环来处理二维数组:

实例

当上面的代码被编译和执行时,它会产生下列结果:

如上所述,您可以创建任意维度的数组,但是一般情况下,我们创建的数组是一维数组和二维数组。

二维数组初始化_0基础学习C语言第七章:数组(2)相关推荐

  1. c++ 数组置0_0基础学习C语言第七章:数组(1)

    C 数组 C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合.数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量.数组的声明并不是声明一个个单独的变量,比如 numb ...

  2. c语言位运算负数的实例_0基础学习C语言第三章:位运算

    C语言提供了六种位运算符: & 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移,相当与*2 >> 右移,正数高位补0,负数由计算机决定 循环左移k次 (x< ...

  3. c语言不允许对数组大小作动态定义,c语言第07章数组.ppt

    第七章,数组,问题:给一组数排序,这组 数该 如何存放呢,??? 这些数据如何存放才便于排序,,1,8,8,8,8,8,8,8,8,8,8,1,,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ...

  4. 【从零基础学习C语言】指针与数组—第七篇

  5. c语言的boolean_0基础学习C语言第四章:三种基本结构

    1.C语言的三种基本结构 顺序结构:从头到尾一句接着一句的执行下来,直到执行完最后一句: 选择结构:到某个节点后,会根据一次判断的结果来决定之后向哪一个分支方向执行: 循环结构:循环结构有一个循环体, ...

  6. 0基础学习C语言第十一章:文件读写

    今天我们将介绍 C 程序员如何创建.打开.关闭文本文件或二进制文件. 一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节.C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理 ...

  7. C语言的二维数组初始化的几种方式介绍(私藏大数组初始化方式)

    C语言的二维数组初始化的几种方式介绍 1.直接赋值 2.循环对每个元素赋值 3.借用memset/memset_s初始化为0或-1 4.`数组所有元素初始化为相同值(用于大数组初始化贼方便)` 1.直 ...

  8. Golang二维切片初始化

    本文主要介绍Golang二维切片初始化的实现 引言 之前,刷Leetcode的时候,有些题需要初始化二维数组,而一维数组的初始化,比如: var a = [5]int{1, 2, 3, 4, 5} / ...

  9. 【第 07 章 基于主成分分析的人脸二维码识别MATLAB深度学习实战案例】

    基于主成分分析的人脸二维码识别MATLAB深度学习实战案例 人脸库 全套文件资料目录下载链接–>传送门 本文全文源码下载[链接–>传送门] 如下分析: 主文件 function varar ...

最新文章

  1. 干货丨大牛带你走向机器学习“正道”:小朋友才迷信算法,大人们更重视工程实践
  2. 用计算机求锐角A,B,计算机操作题
  3. windows下部署免费ssl证书(letsencrypt)
  4. 【Flink】Flink 清理过期 Checkpoint 目录的正确姿势
  5. mysql 1129 错误Host is blocked because of many connection errors; unblock with 'mysqladmin flush-host
  6. python3中exec_Python3
  7. Mocker API 2.7.0 为 REST API 创建模拟 API
  8. 100kW以上 中高频感应加热电源 双DSP数字式IGBT控制板
  9. c语言编译运行的几步
  10. 随机数相关函数rand与srand 以及drand48()与srand48
  11. 简述osi参考模型各层主要功能_简述OSI参考模型中各层的主要功能
  12. 《电脑音乐制作实战指南:伴奏、录歌、MTV全攻略》——2.2 能知旋律但不知歌名,使用哼唱搜索来找歌...
  13. html放大镜,可清晰放大整个网页
  14. itext操作word,设置页眉页脚,html转word
  15. 软件工程之项目团队分工
  16. 华为HCIA Cloud Computing 华为HCIA考证笔记(已获取该证书)
  17. 6.3 理解矩阵背后的意义
  18. java 布林运算_java11教程--布尔计算
  19. Kettle学习之记录集连接
  20. 韩语中有“促音”吗?从音变语法中得到答案,从日语转韩语的学习者常见误区

热门文章

  1. underscore源码经典--收藏
  2. 推荐30款最佳的数据可视化工具
  3. 【深度学习】循环神经网络(RNN)的tensorflow实现
  4. 显示2位小数 python3_python3+ 和 Python2+的一些区别
  5. Javascript条件运算符、其他运算符第五课(小二节)
  6. php fopen下载文件,php fopen下载远程文件的函数 | 学步园
  7. 关于python字符编码_关于python文件的字符编码
  8. 19电子设计速成实战宝典pdf_开发宝典丛书:Visual C++编程实战宝典PDF
  9. Power oj2498/DP/递推
  10. python使用minidom读写xml