C语言,第1张

C语言,第2张

5.2.1二维数组的一般形式
C语言允许使用多维数组,最简单的多维数组是二维数组。实际上,二维数组是由一维数组组成的数组。要把D解释为一个大小为(1 0,2 0)的二维整数数组,可以写成:
int d[10][20]
请注意上面的说法。c不像其他大多数计算机语言那样使用逗号来区分下标,而是使用square

同样,数组D中要访问的带下标(3,5)的元素可以写成:
d [5 ]
例5-3中,整数1到1 ^ 2被加载到一个二维数组中。
[例5-3]
main()
{
int t,I,n u m[3]二维数组以行列矩阵的形式存储。第一个下标代表行,第二个下标代表列,这意味着当数组元素在内存中以实际存储顺序被访问时,右下标比左下标变化得快。
5-2是二维数组在内存中的情况。事实上,第一个游标可以被认为是指向一行的指针。
记住,一旦数组被证明,所有数组元素都会被分配到对应的存储空房间。对于二维数组,需要的内存字节可以通过下面的公式计算:
行数×列数×类型字节数=总字节数。所以,假设一个两字节的整数,一个大小为(10,5)的整数数组将需要:1 0×5×2=100字节
当一个二维数组作为函数的自变量时,实际传递的是第一个元素。但是,这个函数必须至少定义第二维的长度,因为C编译器需要知道每一行的长度,才能正确地检索数组。例如,将接收大小为(1 0,10)的二维数组的函数可以解释如下:
func 1(x)
int x[][10]
{

...
for(t = 0;t for(I = 0;I n u m[t][I]=(t * 4)I 1;
}
在这个例子中,n u m [0] [0]的值是1,n u m [0] [2]的值是3,...并且n μm[2][3]的值是1 2。请将此数组视为下表:

[3]

[4]

也可以指定第一维的长度,但这不是必需的。
C编译器在函数中的以下语句:
X [2] [4 ]
处理时,需要知道两个维度的长度。如果行长度未定义,它就不可能知道第三行从哪里开始。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C语言

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情