一个C程序运行系统允许最大分配内存是多少

一个C程序运行系统允许最大分配内存是多少,第1张

一个函数有闷埋一个最大的内存空间限制 大概是int的10000 内存空间和程序本身定义的变量有关 带递归的程序内存缓罩帆扰雹空间是 本身定义的变量*递归层数 递归层数(就是从搜索树的高度)

语法上没有规定最大。

计算机用虚拟存储,也就是存储器里RAM里放不下时,就写到磁盘里去,要用的数据块从磁盘里读进来,烂卖不用的数据块,放到盘里。利用倒进倒出,多大的数组都可以,只是程序执行效率变低了。

三维图形动态显示,常要很大的数组,高效率的显示卡(硬件)会带额镇碰外的RAM。

理论上说,只要不超过硬件许可,开多大都可以。实际上,有限制。

我的计算机,这个可以:

#include

int

a[1000000]

//

全局量御历谈,允许比较大的数组

int

main(){

a[999999]=999999

printf("%d

",a[999999])

return

0

}

若int

a[1000000]

放到main()里,就不行了。

---

C语言无符号整型数有最大限制,所以一个维的大小,不能超过整型数最大限制。

malloc

动态分配,可以测定,分配是否成功。

#include<cstdio>

int main ()

{

 

char cint s=0,m

scanf("%d"桐衫,&m)

c=getchar()

c=getchar() 

if (m<=1000) s=0

else

 差凳  局庆腔{s=(m-1000)/500if(s*500!=m-1000) s++s*=4}

if (c=='y')

s+=5

printf("%d",s+8)

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12413203.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存