c语言charbuf[isize]为什么isize一定要常量,我看到有些示例...
c语言 char buf [ isize ] 为什么isize一定要常量,我看到有些示例都没有const修饰也可以啊
const int isize =10;
char buf [ isize ]
//----------------------
int isize =10;
char buf [ isize ] //报错
这个与你的编译器有关
c语言早期标准(c89以前的),规定C的数组下标必须是常量
你若使用早期的编译器,如TC/vc++6,它只能用常量的
而C新的标准(C99以后),就规定允许有变量的下标,如新的GCC编译器就支持它
所以,你要确定你的编译器是否支持c99以后标准
热门标签: