C++中,对象保存在内存中,栈内存是自动分配和释放的,而堆内存需要用户自己申请和释放。()
第1题:
3、下列说法正确的是
A.执行函数调用时,系统自动在栈上为函数内的局部变量及形参分配内存,函数执行结束时,自动释放这些内存,这些无需程序员来管理。
B.函数free()的参数是指向被释放的动态内存的指针变量。
C.对于用动态内存分配函数申请的内存,其生存期由程序员自己来决定。
D.函数free的函数原型是 void* free(void* p); 表示函数没有返回值。
E.程序运行结束以后,所有内存自然会随之马上释放并归还给系统,因此即使不释放不再使用的动态内存,也不会有什么问题。
F.执行函数调用时,系统在堆上为函数内的局部变量及形参分配内存,函数执行结束时,需要程序员用free()函数释放这些内存。
G.用动态内存分配函数来申请的内存都是从栈上分配的。
H.栈的特点是先进先出。
I.用free释放指针变量所指向的内存以后,就意味着该指针变量变成了空指针。
第2题:
下列叙述错误的是?
A.值类型存储在内存栈中,引用类型数据存储在内存堆中,而内存单元中存放的是堆中存放的地址
B.值类型继承自System.ValueType,引用类型继承自System.Object
C.栈的内存是自动释放的,堆内存是.NET中会由GC来自动释放
D.值类型存取慢,引用类型存取快
第3题:
2、下列说法正确的是
A.执行函数调用时,系统自动在栈上为函数内的局部变量及形参分配内存,函数执行结束时,自动释放这些内存,这些无需程序员来管理。
B.函数free()的参数是指向被释放的动态内存的指针变量。
C.对于用动态内存分配函数申请的内存,其生存期由程序员自己来决定。
D.函数free的函数原型是 void* free(void* p); 表示函数没有返回值。
E.程序运行结束以后,所有内存自然会随之马上释放并归还给系统,因此即使不释放不再使用的动态内存,也不会有什么问题。
F.执行函数调用时,系统在堆上为函数内的局部变量及形参分配内存,函数执行结束时,需要程序员用free()函数释放这些内存。
G.用动态内存分配函数来申请的内存都是从栈上分配的。
H.栈的特点是先进先出。
I.用free释放指针变量所指向的内存以后,就意味着该指针变量变成了空指针。
第4题:
以下哪些描述是正确的
A.内存一般分为三个区,特殊存储区、堆区(HEAP)还有栈区(STACK)
B.静态变量、常量存放在特殊内存区中。
C.动态变量(Dynamic variables)存储在堆区(HEAP)中。
D.局部变量(local variables)和方法中使用到的参数,会存放栈区(STACK)中。
E.堆区是向上分配内存,栈区是向下分配内存。
F.函数结束后,存放在栈区中的局部变量可以被系统自动释放。
第5题:
关于动态存储分配,下列说法正确的是______。
A.new 和delete 是C++语言中专门用于动态内存分配和释放的函数
B.动态分配的内存空间也可以被初始化
C.当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间
D.当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new
第6题:
关于动态存储分配,下列说法正确的是
A.new和delete是C++语言中专门用于动态内存分配和释放的函数
B.动态分配的内存空间也可以被初始化
C.当系统内存不够时,会自动回收不再使用的内存单元,因些程序中不必用delete释放内存空间
D.当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new
第7题:
关于动态存储分配,下列说法正确的是( )。。
A.new和delete是C++语言中专门用于动态内存分配和释放的函数
B.动态分配的内存空间也可以被初始化
C.当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间
D.当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new
第8题:
C++用操作符new和delete来进行动态内存管理(分配与释放堆内存)。()
第9题:
关于动态存储分配,下列说法正确的是
A.new 和 delete是C++语言中专门用于动态内存分配和释放的函数
B.动态分配的内存空间也可以被初始化
C.当系统内存不够时,会自动回收不再使用的内存单元,因些程序中不必用delete释放内存空间
D.当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new