数组是C,C++,C#语言中经常用到的数据类型,平时使用较多的是一维数组。
如果遇到多维数组,很多人就会感到迷惑,本人也一样。
个人的习惯是,对于让我迷惑不太懂的知识,在写程序的时候,尽量减少使用的频率,尽最大可能不用。
前段时间,因为工作需要,重新去了解了一下多维数组,有感而发,写下自己的总结:
先从一维数组开始,数组定义如下:
Type arrayName[Array_Size];
总结说明,针对一维数组,Type表示数组的类型,arrayName表示数组的名字。
一维数组比较简单,在内存中的样子如下:
接下来是多维数组,先从二级数组开始,二组数组定义如下:
Type arrayName[Array_size_1][Array_size_2];
以上二维数组的定义,二维数组整个占的空间大于等于:
size_t arraySize=Array_size_1 * Array_size_2 * sizeof(Type)
要理解二维数组,需要借鉴一维数组,根据数组的定义,我们从右往左进行理解。
左边Array_size_2表示第二个维度的大小,此时,可以将第二个维度,理解成一个元素,
也就是第一个维度Array_size_1中单个元素的大小。
为帮助理解,参考下面图片:
通过以上图片,可以更直观的理解二维数组。
依次类推,采用同样的原理,就可以理解三维,四维等多维数组。
以上都是个人的观点,不见得一定是正确的,如果有错误的地方,碰巧被“您”看到,麻烦指出来,谢谢。