C语言高级教程-C语言数组(四):多维数组
一、本文的编译环境
本文的编译环境使用的是集成开发环境:Visual Studio 2019
Visual Studio 2019官网链接如下
Visual Studio 2019集成的开发环境的特点有
- Visual Studio 2019默认安装Live Share代码协作服务。
- 帮助用户快速编写代码的新欢迎窗口、改进搜索功能、总体性能改进。
- Visual Studio IntelliCode AI帮助。
- 更好的Python虚拟和Conda支持。
- 以及对包括WinForms和WPF在内的.NET Core 3.0项目支持等 。
二、二维数组的声明
二维数组可以声明如下
float carrots[25][50];
- 这行语句声明了一个数组carrots,它包含25行50个浮点数元素。
- 注意每一维都放 在自己的方括号中。
同样,可以用以下的语句声明另一个二维浮点数数组
float numbers[3][5];
与田里的蔬菜一样,使这些数组排成矩形会比较方便。把这个数组排成3行5列,
它们实际上按行顺序存储在内存中。
如下图所示
-
3行5列元素数组在内存中的组织方式
-
很容易看出,最右边的索引变化地最快。在概念上,左边的索引选择一行,右边的索引选择该行中的一个元素。
-
上图说明了如何将二维数组想象成一维数组, 其中的每个元素本身是一个一维数组。
-
可以将number数组视为3个元素的一-维数组,数组中的每个元素都含有5个float类型的元素。
-
第一行的5个float元素位于标记为numbers[0]的内存地址上,第二行的5个float 元素位于numbers[1],最后一行的 5个元素位于numbers[2]。