C语言中a[10][m]是合法的吗?

如题所述

不合法,C语言规定数组在声明时必须确定地指出数组的大小,因为编译器在编译时要给数组分配确定的内存单元!内存单元的数量不能是变量!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-04-20
不合法.二维数组的列值必须是确定的,可以写成a[][10].但是如果m 值已给出,上边这个写法是正确的.
第2个回答  2008-04-20
a[10][m]一般是不合法的,除非m定义为常量,即定义:

const int m=10; // c++风格
或者
#define m 10 //C风格
第3个回答  2008-04-20
不合法,必须指定【】里面的值,系统好给数组分配内存空间!!·
第4个回答  2008-04-20
C语言的数组长度不允许是变量
如果这个m是变量的话就肯定不合法了
如果前面有define m ~~给m规定了值就合法
反正只要明白,数组的长度定义是不允许变量就行本回答被提问者采纳
相似回答