| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1418 人关注过本帖
标题:[求助]关于变量长度数组的问题
只看楼主 加入收藏
cora0911
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-8-9
收藏
 问题点数:0 回复次数:6 
[求助]关于变量长度数组的问题

#include <stdio.h>

void main()
{
int i,numsOfArray;

printf("How many members do you want:(between 1 and 70)?");
scanf("%i",&numsOfArray);

if(numsOfArray < 1 || numsOfArray > 70)
{
printf("Wrong enter!\n");
return;
}

unsigned int array[numsOfArray];

for(i = 0; i < numsOfArray; i++)
array[i] = i;
}
这是一个关于变量长度数组的问题,简单的写了这个程序,用Microsoft visual C++ 6.0 编译,但是编译通不过。
提示如下:
expected constant expression
cannot allocate an array of constant size 0
'array' : unknown size


MS不支持用变量来初始化数组的大小,还是这个编译器不支持,请高手指点

搜索更多相关主题的帖子: 变量长度 numsOfArray int 
2007-08-09 15:04
viky2003
Rank: 5Rank: 5
等 级:职业侠客
帖 子:375
专家分:383
注 册:2007-4-11
收藏
得分:0 
所有的编译器都不支持!!数组的长度是必须指定的;
a[const int];

要练习算法就来http:///!!有挑战哦!!
2007-08-09 15:08
cora0911
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-8-9
收藏
得分:0 

应该是编译器的问题,有的编译器是支持的,但是不知道哪个,我只有Microsoft Visual

还有复合字面量的问题
http://bbs.bc-cn.net/viewthread.php?tid=146450&extra=&page=1#274661
我的编译器也编译不过

2007-08-09 15:16
eternitelove
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-8-22
收藏
得分:0 
传说C++是有专门的变长数组的
呵呵,我也遇到了这个问题,所以查过,网上有说C99已经支持变长数组了,不过我现在用的编译器似乎还不支持
转载网上的解决方法:example: int *p;int n;(省略键盘输入n相关语句);p=malloc(n*sizeof(int));{你的代码段}free(p//这里不知参数对不对?忘了);
就这样,我测试通过。
很巧吧,其实在谭浩强的链表一章里有这个思想,但是他强调定长数组就是不对!
2007-08-22 17:09
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 
编译器不会支持你这样做的,这个数组的长度必须在编译的时候就知道,而不是运行的时候才知道。

想要实现变长的数组,那就用malloc(或new)动态的开辟存储空间。

天行健,君子以自强不息!!QQ:68660681
2007-08-22 17:31
melodylsp
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2007-7-22
收藏
得分:0 

动态的要用链表吧


2007-08-22 17:34
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 
unsigned int*array = (unsigned int*) malloc(sizeof(unsigned int)*numsOfArray);



unsigned int*array = new unsigned int[numsOfArray]

[此贴子已经被作者于2007-8-22 17:39:22编辑过]


天行健,君子以自强不息!!QQ:68660681
2007-08-22 17:36
快速回复:[求助]关于变量长度数组的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024787 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved