c语言中最大可以申明多大的数组?

如题所述

由于数组申请的是连续存储空间,
所以存在最大申请的限制,也就是说最大申请空间不能大于当前的栈空间
栈空间是可调的,默认的应该为1M,
但是最大值也不会大于全部栈的总size

如果是动态申请的话(例如,动态数组,链表等),则和堆的大小有关系
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-02-25
局部变量受可用栈的大小限制。比如Windows里默认你局部变量最大不可能超过1M

全局变量和运行时申请的内存受可用地址空间限制。Windows环境下最大不可能超过3G,Windows x64最大不可能超过8T
第2个回答  2009-02-25
最好不要直接声明数组,无论是局部还是全局。
需要大块连续存储器,可以malloc.
第3个回答  2009-02-25
理论上想多大就多大,只要你计算机够快~~~

c语言中最大可以申明多大的数组?
所以存在最大申请的限制,也就是说最大申请空间不能大于当前的栈空间 栈空间是可调的,默认的应该为1M,但是最大值也不会大于全部栈的总size 如果是动态申请的话(例如,动态数组,链表等),则和堆的大小有关系

C语言的数组最大可以定义多长,求高手解答,请不要很笼统说是系统内存什...
数组只是一个语法概念,可以认为你是要分配一段连续的内存,在应用层有2种方式:全局变量的方式,在函数外声明,最大应该不能超过4G Byte(32bit寻址最大值),int就除与4,doubel再除2 局部变量的方式,在函数内声明,属于栈内存,就更小,确实跟操作系统和C库相关,进程都有栈限制的,可以输入命令...

c语言数组最大长度
理论上,c语言数组最大的大小没有限制,因为它用的是 虚拟存储。对于写程序而言,例如要写下标,那么受 unsigned int 最大值的限制,只能用到十六进制 0xffffffff, 十进制4G多一点。具体程序能获取多大,就很难说,有时编译可以通过,运行时出错。你也可以用 malloc 动态分配请求,看分配是否成功或失...

关于C语言中定义数组大小的问题(最多能定义多少)
也就是说,只要硬件条件许可的条件下,数组的大小可以为0x7CFFFFFF(2G BYTE)。数组所占空间为:count*sizeof(TYPE) , count是数组元素的个数,sizeof(TYPE) 是一个元素所占空间字节数。如果定义数组空间超出2G,VC编译会报错:fatal error C1126: '2G' : automatic allocation exceeds 。。。因...

数组定义的最大长度是多少??c语言
没有上限,和本机的系统(32bit,64bit)CPU以及内存有关系 而且,要使用malloc和sizeof来开放free领域 32bit CPU的时候、int = 4byte 256*256*256*16*4 = 1024M=1G(内存)int *array ;array = (int *)malloc( 256 * 256 * 256 * 16 * sizeof(int ));...

c语言里数组的最大长度是多少?
与机器条件、内存空间以及程序运行所用空间和编译器有关。好点的机器 1000000是能到的。我的电脑是98年的,只能到100000

C语言数组的最大长度
如果实现知道数据的最大可能规模,那么可以用另一个方法。2 事先知道数据的最大规模,比如统计一个班的分数时,一个班最多不超过百人,那么可以直接定义一个长度为100的数组,或者保险起见,定义一个长度为1000的数组,并对其操作。这样在操作范围内,这个就是一个“无限长”的数组了。

C语言里数组最多能装多少个数?
这个和栈大小有关系 与编译器 系统都有关系 你定义成全局变量 1000000也是可以的 并不是越大越慢 === 上面说的数组大小越大,从指针首地址移动至末尾的时间当然也就越长 是对的 当然这指的运行的时候的操作 当内存分配的时候 操作用的时间是一样 就是指定一个标识起始位置的指针 和一个数组的大...

c语言的数字定义怎么突破上限,比如a[b][c],b和c最大定义到多少有上限...
MS VC++ 6.0 限制为: 268435456 例如:include <stdio.h> define BC 8000 int a[BC][BC]; \/\/ 要用全局量 main(){ int i;for (i=1;i<10;i++){ a[BC-i][BC-i]=123+i;};for (i=1;i<10;i++) printf( "%d ",a[BC-i][BC-i]);return 0;} 这里数组用到 BC...

c语言可以定义多大的字符串数组
取决于系统环境。如果是局部变量,那么不建议太大,因为局部变量分配在栈区,一般栈空间都不会太大的。超过10K的存储 要么用动态分配 要么改为全局变量。全局变量用的是整个系统内存。也就是说,你系统剩余内存有多大,就可以定义多大的数组。

相似回答