c语言如何申请一个由外部输入长度的数组?

先由外部输入一个量,再以此作为长度定义一个数组,可以实现吗?怎样做?谢谢... 先由外部输入一个量,再以此作为长度定义一个数组,可以实现吗?怎样做?谢谢 展开
 我来答
风若远去何人留
2015-10-08 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部
可以使用malloc函数实现。
1 头文件:
stdlib.h
2 声明:
void *malloc(size_t length);
3 功能:
申请一段长度为length字节的内存空间,并将首地址返回。
4 示例:
如元素类型为type,输入的数组长度存在变量n中,那么要申请的数组所占空间为sizeof(type)*n。
数组需要定义为指针形式
type *p;
申请代码为
p = (type*) malloc(sizeof(type)*n);
百度网友fa09700
2015-09-21 · TA获得超过414个赞
知道小有建树答主
回答量:266
采纳率:85%
帮助的人:133万
展开全部
由外部输入长度的数组,
这句话的意思就是说数组内存是活动的,因此需要用calloc或者malloc
int main(){
char *str;
int size;
scanf("%d",&size);//外部输入长度
str = (char*)calloc(size,sizeof(char));
free(str);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5f40575
2005-11-25 · TA获得超过222个赞
知道答主
回答量:348
采纳率:0%
帮助的人:0
展开全部
int a[100];
main()
{int n,i;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
printf("%d",a[i]);
getch();}
先定义较大长度的数组,取其中部分来操作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2005-11-24
展开全部
动态分配内存

#include<stdlib.h>
int main()
{
int n,*p;
int i;
printf("Please input the num:");//输入数组的长度
scanf("%d",&n);
p=(int *)malloc(sizeof(int)*n);//定义动态数组
printf("Please input the numbers:");
for(i=0;i<n;i++)
{
scanf("%d",p+i);
}
for(i=0;i<n;i++)
{
printf("%5d\n",p[i]);
}
getchar();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wfxxs2011
2015-09-10 · TA获得超过257个赞
知道答主
回答量:143
采纳率:50%
帮助的人:43万
展开全部
  1. C99支持

  2. 使用动态内存分配

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式