C/C++编程笔记:数组和字符串丨多维数组详解

Posted C语言编程学习基地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C/C++编程笔记:数组和字符串丨多维数组详解相关的知识,希望对你有一定的参考价值。

数组基础在C / C ++中,我们可以用简单的单词将多维数组定义为数组数组。多维数组中的数据以表格形式(以行主要顺序)存储。

C/C++编程笔记:数组和字符串丨多维数组详解

声明N维数组的一般形式:

data_type array_name [size1] [size2] .... [sizeN];

data_type:要存储在数组中的数据类型。

          这里data_type是有效的C / C ++数据类型

array_name:数组的名称

size1 ,size2,...,sizeN:尺寸的大小

例子

二维数组:int two_d [10] [20];

三维数组:int three_d [10] [20] [30];

多维数组的大小

可以通过将所有维的大小相乘来计算可以存储在多维数组中的元素总数。

例如:

数组int x [10] [20]可以存储总计(10 * 20)= 200个元素。

类似地,数组int x [5] [10] [20]可以存储总计(5 * 10 * 20)= 1000个元素。

二维数组

二维数组是多维数组的最简单形式。我们可以将二维数组看作是一维数组的数组,以便于理解。

C/C++编程笔记:数组和字符串丨多维数组详解

声明大小为x,y的二维数组的基本形式:

语法:

data_type array_name [x] [y];

data_type:要存储的数据类型。

我们可以将尺寸为10,20的二维整数数组'x'声明为:

int x [10] [20];

二维数组中的元素通常用x [i] [j]表示,其中i是行号,'j'是列号。

二维数组可以看作是具有“ x”行和“ y”列的表,其中行号的范围是0到(x-1),列号的范围是0到(y-1)。具有3行3列的二维数组'x'如下所示:

C/C++编程笔记:数组和字符串丨多维数组详解

初始化二维数组:可以通过两种方式初始化二维数组。

第一种方法

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

上面的数组有3行4列。括号中从左到右的元素也从左到右存储在表中。元素将按顺序填充到数组中,第一行从左开始的前4个元素,第二行从下4个元素,依此类推。

更好的方法

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

这种类型的初始化使用嵌套的花括号。每组内部括号代表一行。在上面的示例中,总共有三行,因此有三组内部括号。

访问二维数组的元素使用行索引和列索引访问二维数组中的元素。

例:

int x [2] [1];

上面的示例表示第三行和第二列中存在的元素。

注意:在数组中,如果数组大小为N。其索引将为0到N-1。因此,对于行索引2,行号为2 + 1 = 3。

要输出二维数组的所有元素,我们可以使用嵌套的for循环。我们将需要两个for循环。一个遍历行,另一个遍历列。

C/C++编程笔记:数组和字符串丨多维数组详解


三维数组

C/C++编程笔记:数组和字符串丨多维数组详解

初始化三维数组三维数组中的初始化与二维数组中的初始化相同。区别在于尺寸数增加,因此嵌套括号的数量也将增加。

方法1

int x [2] [3] [4] = {0,1,2,3,4,5,5,7,7,8,9,10,11,12,13,14,15,15,16,17,18,19,20、21、22、23};

更好的方法

int x [2] [3] [4] =  {    {{0,1,2,3},{4,5,6,7},{8,9,10,11}},  {{12,13,14,15},{16,17,18,19},{20,21,22,23}} };

访问三维数组中的元素:访问三维数组中的元素也类似于二维数组。不同之处在于,在三维数组中,我们必须使用三个循环而不是两个循环来增加一维。

C/C++编程笔记:数组和字符串丨多维数组详解

以类似的方式,我们可以创建任意维数的数组。但是,复杂度也随着维数的增加而增加。

最常用的多维数组是二维数组。

本期的知识分享就到这里了,希望对大家有帮助~

另外如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!笔者这里或许可以帮到你~

分享(源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

编程学习书籍分享:

编程学习视频分享:

以上是关于C/C++编程笔记:数组和字符串丨多维数组详解的主要内容,如果未能解决你的问题,请参考以下文章

《C专家编程》数组和指针并不同--多维数组

《C专家编程》数组和指针并不同--多维数组

C/C++编程知识:运算符丨按位运算符,知识点详解

《C专家编程》:再论指针

C++C++自学旅程:数组与字符数组

c_cpp C - 多维字符串数组