C++里面能运算的一维数组的最大长度为多少
答案:2 悬赏:10 手机版
解决时间 2021-12-26 02:37
- 提问者网友:棒棒糖
- 2021-12-25 04:48
C++里面能运算的一维数组的最大长度为多少
最佳答案
- 五星知识达人网友:老鼠爱大米
- 2021-12-25 05:09
没有限制,只要有内存
全部回答
- 1楼网友:一把行者刀
- 2021-12-25 05:31
首先说明一下,这个问题我不会。下面是一些分析。
数组是静态分配的空间,应该是在栈上,数组你想分配100万个元素的话,如果是char数组,占用的空间就是1m,如果这个值超过了允许的栈空间大小,肯定会出错的。
栈空间视不同的机器不同,至于具体是在编译环境中设置还是在操作系统中设置,我就不知道了。
另外,最好不要用这么大的数组,遍历、修改操作都不方便,性能太低。
下面是一个人的试验:
我用程序测试了一下,大概为10m,这是为什么呢
#include
int main(int argc,char *argv[])
{
char a[10475760]; //略小于10m,运行通过
printf("%p\n", a);
return 0;
}
#include
int main(int argc,char *argv[])
{
char a[10485760]; //恰好为10m,出现段错误
printf("%p\n", a);
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯