186行 语法规定数组定义的时候不可以用变量n去分配数组长度,必须要用常量数值 , 如果想动态创建数组的话只能是用 分配内存的方式创建 c malloc c++ new
186行,数组不可以设置n为个数
可以使用下面代码,动态new
#include<iostream>
using namespace std;
int main()
{
int n; //输入数组长度
cin>>n;
int *p; //声明一个指针
p=new int[n]; /*创建了一个长度为n的动态数组,并且返回这个数组的首地址给p,p就指向了这个动态数组,可以通过指针p
来操作数组,因为创建的动态数组并没有名字,只返回了首地址给p,所以可以把p看作是这个动态数组的名字 */
for(int i=0;i<n;i++)
cin>>p[i];
for(int i=0;i<n;i++)
cout<<p[i]<<" ";
delete []p; //释放这个一维的动态数组,而不是释放指针p。用完以后要记得释放掉
cout<<p; //输出指针p的地址
return 0;
}