当前位置:首页 > 内存 > 正文

描述内存的动态分配

  • 内存
  • 2024-08-10 09:10:15
  • 1289

一、对于动态分配内存空间描述正确的是()关于动态分配内存空间的正确描述是()
A.new操作符分配的内存空间长度必须是常量
B.释放动态存储空间和静态存储空间
分配的内存空间不是恒定的
D.删除运算符只能释放由NewSpace<分配的动态内存。br/>
正确答案:delete操作符只能释放new分配的动态存储空间


二、关于动态内存分配(1)关于堆内存大小(即动态分配内存malloc、new等),最大可以到4G我在我的电脑上测试(VC6.0,我的内存是512)仍然可以看到1G左右的结果否不管多大,这台机器都非常慢这只受你机器的虚拟内存和系统的物理内存的限制。但是,我们在编程的时候开辟这么大的空间是没有意义的,除非你有足够强大的硬件机器,我们的个人机器无法处理。。
(2)对于栈内存(常用于存放非动态分配的全局变量或者局部变量),VC6.0下默认分配是1M字节,但是可以调整(我不知道)不再有)是的)。在其他平台上,别人说一般都认为是64K我没有在其他编译器上测试过,你可以试试。
/*从下面的程序可以看出,VC6.0下分配的栈内存为1M(差不多等于256*256*16=1024*1024),结构体变量之一占用16字节*/
#include
#include
structPC{
charname[16];
};
voidmain()
{
structPCnet2[256][252];//如果是[256][253],就会出错
cout<}