C语言中怎样定义一个可变大小的数组呢?我想根据自己的需要输入数组的大小,谢谢啦

 我来答
半季流年
推荐于2016-02-12 · TA获得超过1533个赞
知道小有建树答主
回答量:616
采纳率:0%
帮助的人:772万
展开全部
定义动态数组,例如:
#include <stdio.h>
#include <stdlib.h>
int len;
char *str;
printf("输入数组的长度:");
scanf("%d",&len);
str=(char*)malloc(len*sizeof(char));
为str分配分配len个字符大小的空间。
xinxh2008
2011-02-17
知道答主
回答量:12
采纳率:0%
帮助的人:10万
展开全部
通过指针和动态分配函数完成。
如: int *p;
p=(int *)malloc(sizeof(int)*10);
上述可申请大小为10的整型数组。
当然也可以用链表实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ziyang64
2011-02-17 · TA获得超过962个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:812万
展开全部
C99标准定义了可变长数组,不过也是有限的。VC并不支持,TC远老于C99就更不可能支持了,gcc支持。
要真正的动态数组还是只能用指针,用malloc分配内存。
关于可变长数组的描述见:http://blog.csdn.net/supermegaboy/archive/2009/11/23/4854921.aspx
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
二木泽
2011-02-21
知道答主
回答量:34
采纳率:0%
帮助的人:8.1万
展开全部
这个很简单,你不要给数组规定大小就可以了,比如 a[] 这个数组的大小就是你输入的多少来决定的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
萧豪云影
2011-02-17 · 超过19用户采纳过TA的回答
知道答主
回答量:138
采纳率:0%
帮助的人:71万
展开全部
常规定义是不可能的 呵呵
不过可以动态内存分配用calloc函数建立连续空间段,相当于数组了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式