| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 818 人关注过本帖
标题:关于VC中的数组大小定义有限制吗
只看楼主 加入收藏
捍卫梦想
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-10-1
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:4 
关于VC中的数组大小定义有限制吗
以下是我写了一个测试程序,当宏定义# define nRow 1000和# define nCol 1000分别为1000时,程序在编译时无任何错误但是在运行程序时就出问题,弹出一个窗口,说停止工作。我想知道为什么啊?是因为数组太大了么?我将宏定义的数值减小,都改为500.程序运行就一点问题没有。难道VC定义的数组的大小有限制么?求解答,不胜感激。
图片附件: 游客没有浏览图片的权限,请 登录注册


# include <stdio.h>

# define nRow 1000
# define nCol 1000

main()
{
    int i, j, k = 0;
    int a[nRow][nCol];

    for(i = 0; i < nRow; i++)
        for(j = 0; j < nCol; j++)
        {
            a[i][j] = k;
            k++;
        }

    for(i = 0; i < nRow; i++)
        for(j = 0; j < nCol; j++)
            printf("%d ", a[i][j]);

    return 0;
}
搜索更多相关主题的帖子: 不胜感激 运行程序 include 
2015-01-29 16:55
young
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:223
专家分:160
注 册:2004-9-5
收藏
得分:5 
根据你开辟数组的空间1000*1000*4 Byte,大约使用3.8M
VC默认的栈空间,我没记错的话是1M
http://blog.
请参考上面的连接修改栈空间

如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
2015-01-29 19:25
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:5 
这种时候要用malloc()分配的
2015-01-29 19:57
lovegh
Rank: 5Rank: 5
来 自:图灵学院
等 级:职业侠客
威 望:3
帖 子:117
专家分:311
注 册:2015-1-23
收藏
得分:5 
把数组写在函数外面定义成全局的。

别老是写代码,要多陪妹子,多了解老婆大人,血淋淋的教训。
2015-01-29 20:38
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
vc默认是栈尺寸是1M

授人以渔,不授人以鱼。
2015-01-30 22:06
快速回复:关于VC中的数组大小定义有限制吗
数据加载中...
 
   



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

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