首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

二维数组的定义有关问题

2013-09-28 
二维数组的定义问题各位大神,小弟想请问下二维数组的定义中不能带变量,也就是说比如:int iint j int blo

二维数组的定义问题
各位大神,小弟想请问下
二维数组的定义中不能带变量,也就是说比如:
int i;
int j; 
int blocks[i][j] ;
这样是错误的。
但是今天我们老师说了一种:
#define i 6;
#define j 6;
int blocks[i][j];
可是不知道为什么 我在VS2010上这样就报错;
求大神指点。

[解决办法]


//宏后面没有分号
#define i 6
#define j 6

[解决办法]
C89编译器不支持变长数组,所以在定义数组时需要指定数组的长度。宏定义是在预编译阶段等价替换的,和在数组里填入两个常量差不多的。不过,宏定义的好处比填常量要好的多,便于程序的更新和维护。
不过C99会支持变长数组。
[解决办法]
数组与动态分配的不同就是这样它必须指明数组的大小,而动态分配则可以使用变量因为一个是在编译期间知道数组大小的,而动态的则是在动态运行期间知道的

热点排行