c语言中一个整数(int)二维数组可以设置最多多少行跟多少列
int[?][?]中括号里面可以填多大的值,这个有限定的吗?怎么我软件最多只能输入100跟500,有没有什么方法让它变大点???谢谢了!!...
int[ ? ][ ? ]
中括号里面可以填多大的值,这个有限定的吗?怎么我软件最多只能输入100跟500,有没有什么方法让它变大点???谢谢了!! 展开
中括号里面可以填多大的值,这个有限定的吗?怎么我软件最多只能输入100跟500,有没有什么方法让它变大点???谢谢了!! 展开
6个回答
展开全部
受编译模式和计算机内存(包括硬盘上的虚拟内存)限制。
我们来算一下int x[100][500];占用了多少内存,假设int型变量是32位的,即4字节:
4*100*500=200000字节=196k字节,这应当是比较小的,有可能是你的编译设置选项导致的限定。
普通在PC机上,你用huge模式的编译选项可以开出G级的数组,可用来放置很大的图象之类的数据。
上面所说的前提是这个变量如果开设成全局的,你如果在某函数中开设,那么它的尺寸就要收到编译选项中堆栈尺寸的限制。
我们来算一下int x[100][500];占用了多少内存,假设int型变量是32位的,即4字节:
4*100*500=200000字节=196k字节,这应当是比较小的,有可能是你的编译设置选项导致的限定。
普通在PC机上,你用huge模式的编译选项可以开出G级的数组,可用来放置很大的图象之类的数据。
上面所说的前提是这个变量如果开设成全局的,你如果在某函数中开设,那么它的尺寸就要收到编译选项中堆栈尺寸的限制。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以这样子计算,根据操作系统中一个int型变量所占用的字节数,然后在看看你这个变量时放在堆里面还是栈里面 在根据堆栈的大小除以int型变量的字节数,就得到括号里面两个数相乘的集。两数成绩不要超过这个值即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我试出来是:
int a[22335][22335];
这是两个相等的最大,我电脑上全局变量是这样
int a[22335][22335];
这是两个相等的最大,我电脑上全局变量是这样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询