定义数组时为何不能用含有变量的表达式

 在栈上建立数组时,不能使用含有变量的表达式,如:int a[x+2];错误数组 缘由:在栈上建立数组时编译器编译的时候就须要在栈上分配内存,但是有了变量之后,编译器就没法知道该分配多大的内存空间,故编译器会报错。可是定义通常变量如:int a;编译器会自动识别 int 占多大内存分配给他。spa 对比:若是是动态建立数组时(也就是在堆上建立数组时)能够出现变量如:new a【x+1】;正确;内存
相关文章
相关标签/搜索