C语言如何定义动态数组

不要那种手动输入数组长度的,... 不要那种手动输入数组长度的, 展开
 我来答
元云梦G1
2011-10-10 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:122
采纳率:0%
帮助的人:94.8万
展开全部
/*输入数组元素个数,保存到变量num中*/
scanf("%d", &num);
/*动态分配数组存储空间*/
p = (int *)malloc(num * sizeof(int));
/*输入数据*/
printf("请输入%d个整数:", num);
for(i = 0; i < num; i++)
{
printf("%d个:", i + 1);
scanf("%d", p + i);
}
/*输出数据*/
printf("输入的数组是:");
for(i = 0; i < num; i++)
printf("%3d", *(p + i));
/*删除动态创建的数组*/
free(p);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
microroom
科技发烧友

2019-02-08 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:7118
采纳率:83%
帮助的人:1513万
展开全部
stdlib.h头文件中有4个函数,可以用来动态分配内存。灵活运用它们,就能实现数组的动态分配和数组存储空间的自动扩充。
这4个函数是:
calloc、realloc、mylloc和free。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pengyun1314123
2011-10-10 · TA获得超过1458个赞
知道小有建树答主
回答量:1049
采纳率:0%
帮助的人:515万
展开全部
加上头文件iostream.h后用下面的。
cin>>num;
int *pp = new int[num];
for(int i=0; i < num; i++)
{
cout<<"input number,第"<<i<<"个数";
cin>>pp[i];
}
for(int i=0; i < num; i++)
{
cout<<"第"<<i<<"个数"<<"为:"<<pp[i]<<endl;
}
delete pp;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式