C语言高级教程-C语言数组(四):多维数组

在这里插入图片描述

一、本文的编译环境

本文的编译环境使用的是集成开发环境:Visual Studio 2019
在这里插入图片描述

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]。

  • 当然,分配给每个元素的内存量取决于数组所含的变量的类型。

  • double类型的数组需要的内存比float或int类型的数组多。

下图说明了数组numbers[4][10]的存储方式,该数组有4行10个float类型的元素

在这里插入图片描述

  • 因为数组元素的类型是float,它在机器上占4个字节,这个数组占用的内存总数是 4X10X4个字节,即为160个字节。

三、三维数组的声明

三维数组是二维数组的扩展:

double beans[4] [10] [20]; // 4 fields, each with 10 rows of 20 beans
  • 这个语句声明的数组有800个元素,可以把它看作存储豆类植物的产量,豆类植物
    有三块田,每块田包含10行20列植物。
  • 根据需要,可以定义任意多维数组。

四、数组的声明程序编译结果

数组的声明程序编译结果如下所示

已启动重新生成…
1>------ 已启动全部重新生成: 项目: 5.4-多维数组, 配置: Debug Win32 ------
1>Main.c
1>E:Document2-programmLanguageExperCC语言入门经典C语言入门经典5.4-多维数组Main.c(10,8): warning C4101: “carrots”: 未引用的局部变量
1>E:Document2-programmLanguageExperCC语言入门经典C语言入门经典5.4-多维数组Main.c(11,8): warning C4101: “numbers”: 未引用的局部变量
1>E:Document2-programmLanguageExperCC语言入门经典C语言入门经典5.4-多维数组Main.c(14,9): warning C4101: “beans”: 未引用的局部变量
1>5.4-多维数组.vcxproj -> E:Document2-programmLanguageExperCC语言入门经典C语言入门经典Debug5.4-多维数组.exe
1>已完成生成项目“5.4-多维数组.vcxproj”的操作。
========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0==========

编译程序运行结果如下所示

在这里插入图片描述

五、完整程序

本文的完整程序如下所示

5.1 Main.h 文件程序

#ifndef MAIN_H
#define MAIN_H


#include <stdio.h>
#include <stdlib.h>


#endif

5.2 Main.c 文件程序

#define _CRT_SECURE_NO_WARNINGS

#include "Main.h"

int main()
{
	system("color 3E");

	// 二维数组的声明
	float carrots[25][50];
	float numbers[3][5];

	// 三维数组的声明
	double beans[4][10][20]; // 4 fields, each with 10 rows of 20 beans

	system("pause");
	return 0;
}

六、总结

在这里插入图片描述

本文主要介绍了C语言高级编程的数组的多维数组的声明方式。
介绍了二维数组声明方式。
介绍了二维数组声明方式。

本文到这里就结束啦。

  • 希望本文的C语言数组的多维数组。
  • 能对你有所帮助。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>