怎样创建一个动态数组,比如,我动态输入数组的元素个数N?

我想创建这相一个数组,它的元素个数可以动态输入的,
比如:printf("enter the num of elements:");
scanf("%d",&n);
int a[n];
我知道这样是不行的,数组必须是个确定的。

给你一个代码吧,具体的看一下注释:

#include<stdio.h>
#include<stdlib.h> //需要include这个头文件,后面malloc库函数要用它

void main()
{
int n,i;
int *a; //需要这么声明动态数组,也就是先声明一个指针
printf("enter the num of elements:");
scanf("%d",&n);

a=(int *)malloc(n*sizeof(int));//取得数组的成员个数后,需要动态的申请数组空间

for(i=0;i<n;i++)
a[i]=i+1;

printf("Output: ");

for(i=0;i<n;i++) printf("%d ",a[i]);

delete a;//动态数组使用完毕后不要忘了释放所申请的数组空间
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-03-01
c里这样是不行的
只能使用动态分配内存
int *a;
a = (int *)malloc(sizeof(int)*n);
c++
int *a = new int[n];
第2个回答  2009-03-01
学习new吧
第3个回答  2009-03-01
学习下
相似回答