如果在申请动态内存时找不到足够大的内存块,malloc和new将返回NULL指针,宣告内存申请失败。你是怎么处理内存耗尽的?
第1题:
A、EDD
B、ECC
C、BEDC
D、SDRAM
第2题:
c++提供的动态内存分配和释放的操作符为【 】和【 】。
第3题:
a. free(p);
b. free p;
c. free(*p);
d. free[p];
第4题:
某操作系统的内存管理采用段式管理,内存分配采用最先适配算法,计算机的内存为50MB,刚开始时内存均未使用。经过一段时间的运行(其内存申请、释放的序列为:申请20MB—申请15MB—申请10MB—释放15MB—申请10MB—释放20MB—申请8MB)以后,内存中存在(23)。
A.2个空闲块,长度分别为10MB、12MB
B.3个空闲块,长度分别为12MB,5MB,5MB
C.1个空闲块,长度为22MB
D.4个空闲块,长度分别为5MB、5MB、5MB、7MB
第5题:
New delete 与malloc free 的联系与区别?
:都是在堆(heap)上进行动态的内存操作。用
malloc函数需要指定内存分配的字节数并且不能初
始化对象,new 会自动调用对象的构造函数。delete
会调用对象的destructor,而free 不会调用对象的
destructor.
第6题:
C++用操作符new和delete来进行动态内存管理(分配与释放堆内存)。()
第7题:
请编写实现void * malloc(int)内存分配函数功能一样的代码。
第8题:
关于动态存储分配,下列说法正确的是
A.new 和 delete是C++语言中专门用于动态内存分配和释放的函数
B.动态分配的内存空间也可以被初始化
C.当系统内存不够时,会自动回收不再使用的内存单元,因些程序中不必用delete释放内存空间
D.当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new
第9题:
A.是
B.否
第10题:
已知“int *p=malloc(100);”,要释放p所指向的动态内存,正确的语句为()。
Afree(p);
Bfree p;
Cfree(*p);
Dfree[p];