怎样创建一个动态数组,比如,我动态输入数组的元素个数N?
我想创建这相一个数组,它的元素个数可以动态输入的,比如:printf("enterthenumofelements:");scanf("%d",&n);inta[n];我...
我想创建这相一个数组,它的元素个数可以动态输入的,
比如:printf("enter the num of elements:");
scanf("%d",&n);
int a[n];
我知道这样是不行的,数组必须是个确定的。 展开
比如:printf("enter the num of elements:");
scanf("%d",&n);
int a[n];
我知道这样是不行的,数组必须是个确定的。 展开
4个回答
推荐于2017-12-16
展开全部
给你一个代码吧,具体的看一下注释:
#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;//动态数组使用完毕后不要忘了释放所申请的数组空间
}
#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;//动态数组使用完毕后不要忘了释放所申请的数组空间
}
展开全部
c里这样是不行的
只能使用动态分配内存
int *a;
a = (int *)malloc(sizeof(int)*n);
c++
int *a = new int[n];
只能使用动态分配内存
int *a;
a = (int *)malloc(sizeof(int)*n);
c++
int *a = new int[n];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学习new吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学习下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询