| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 841 人关注过本帖
标题:刚学c++,出现问题了
只看楼主 加入收藏
gaydog
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-4-5
收藏
 问题点数:0 回复次数:8 
刚学c++,出现问题了
有如下一小段程序:
long a[300000],i;
for(i=0;i<100;i++)
a[i]=i;
printf("%d",a[5])
为什么运行时出错?另外,如果数组a定义长度改为200000就没问题,请高手帮帮忙~~~
搜索更多相关主题的帖子: long 
2010-04-05 16:59
buxinqiufeng
Rank: 2
等 级:论坛游民
帖 子:20
专家分:55
注 册:2009-3-3
收藏
得分:0 
数组定义过长,
2010-04-06 10:57
gaydog
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-4-5
收藏
得分:0 
回复 2楼 buxinqiufeng
请问为什么长?我一定要用到300000多万的长度啊~~这个只是例子,不是我要编的!而且,long的长度好像是1亿多吧?
2010-04-06 12:56
ltyjyufo
Rank: 9Rank: 9Rank: 9
来 自:未来
等 级:蜘蛛侠
威 望:2
帖 子:353
专家分:1166
注 册:2009-10-25
收藏
得分:0 
  没事做啊,定义这么长的数组......

翱翔天空的雄鹰固然令人羡慕,却容易被禁锢于牢笼之中,只有那夜色中的蝙蝠才是真正自由的飞翔者....
2010-04-09 22:51
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:0 
定义到全局去。。可以大很多。。M级··
2010-04-10 01:14
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
收藏
得分:0 
数组将会在编译期分配内存大小,它是在栈上分配的空间,属数据段,而一个程序的数据段的大小是有限的,你的数组过大的话,会超出这个分配空间,最终影响到代码段,造成程序无法正常运行。
所以,数组最会不要太大,对于需要大空间的数据,请使用动态分配(new)的内存空间,这部分的大小取决于你的内存大小,WINDOWS上这部分还包括了虚拟内存。
2010-04-10 20:05
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:216
帖 子:1506
专家分:9241
注 册:2010-3-16
收藏
得分:0 
long *a=new long[300000];
2010-04-11 17:17
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:0 
回复 6楼 debroa723
受教!!!!

南国利剑
2010-04-14 18:32
wlsj
Rank: 2
等 级:论坛游民
帖 子:49
专家分:28
注 册:2009-5-18
收藏
得分:0 
同意6楼
2010-04-15 19:17
快速回复:刚学c++,出现问题了
数据加载中...
 
   



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

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