C++怎么创建维数不定的数组?

来源:百度知道 编辑:UC知道 时间:2024/05/21 06:25:38
比如一个班有N个同学,N是10到15中间的数,那创建数组的时候就写【N】吗?怎么从cin确定N的大小啊?不是说这样不合法吗?

最好取N的最大可能值或者动态分配数组大小

在C++里推荐用new关键字而不是malloc。。。new、free、delete、malloc混用对于新手来说是灾难性的。

用动态分配存储空间malloc函数
其原型在 stdlib.h 中

创建数组的时候不能用变量,只能用常量或常量表达式,用N的话必须在头文件处定义它的值。我记得定义二维数组时第一个下标可省略,一维数组的话下标省略我没有用过,你试一下就知道可不可以了。

//可以借用c中malloc();
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{int n,*a;
cin>>n;
a=(int*)malloc(n*sizeof(int));
for(int i=0;i<n;i++)
cin>>a[i];
for(int j=0;j<n;j++)
cout<<a[j]<<' ';

return 0;
}

int c=10;
int *p=new int[c];
//****
delete[] p;

动态数组的创建,使用new和delete
例如int *p = NULL;
然后再程序任何地方可以
*p = new int[X];