HelloWorld

ASM,C,LUA,LINUX(gentoo)
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

多维数组

Posted on 2011-10-01 11:16  光铭  阅读(170)  评论(0编辑  收藏  举报

关于多维数组在前面的关于指针的文章中也多次提及了,这里有必要补充一下。

0.在c语言中实际上只有一维数组,二维数组被视为数组的数组,多维数组就是数组的数组的数组的......

1.数组内部按照右边标号增加的顺序依次存放

2.数组退化为指针的规则不能递归调用,数组的数组退化成数组的指针,而不是指针的指针

如果向函数传递二维数组

int array[NROWS][NCOLUMS];

f(array);

那么函数的声明必须匹配

void f(int [][NCOLUMS]);

void f(int (*ap)[COLUMS]);

第一个已经有数组的指针的意思,第二个就更加明显。

3.数组的扁平化

数组失去了形状