有关存储区的区域分配问题
来源:互联网 发布:数据分析论坛推荐 编辑:程序博客网 时间:2024/05/14 19:15
int main()
{
char *p = "hello,world";
return 0;
}
p和"hello,world"存储在内存哪个区域?
你的答案: D (正确)
A栈,堆
B栈,栈
C堆,只读存储区
D栈,只读存储区
(1)从静态存储区域分配:内存在程序编译时就已经分配好,这块内存在程序的整个运行期间都存在。速度快、不容易出错,因为有系统会善后。例如全局变量,static变量等。(2)在栈上分配:在执行函数时,函数内局部变量的存储单元都在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。(3)从堆上分配:即动态内存分配。程序在运行的时候用malloc或new申请任意大小的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由程序员决定,使用非常灵活。如果在堆上分配了空间,就有责任回收它,否则运行的程序会出现内存泄漏,另外频繁地分配和释放不同大小的堆空间将会产生堆内碎块。一个C、C++程序编译时内存分为5大存储区:堆区、栈区、全局区、文字常量区、程序代码区。局部变量存放在栈中,堆中存放的是new和malloc开辟出的,而程序中定义的常量存放在只读存储区
0 0
- 有关存储区的区域分配问题
- 有关于字符串内存分配的问题
- STM32的存储分配问题
- Java代码的内存分配和存储区域
- 结构体的存储分配问题
- 有关存储过程的like问题
- 有关shapefile存储时间字段的问题
- 关于变量存储区域问题
- java中有关“变量”内存分配问题
- 结构的存储分配
- java的存储分配
- 连续存储方式的容器存储空间重分配问题
- 内存存储以及分配方式的区别问题
- 详细讲解有关Oracle存储过程的相关问题
- 详细讲解有关Oracle存储过程的相关问题
- 虚拟座谈会:有关分布式存储的三个基本问题
- 有关oracle存储过程的6个问题
- 堆栈和变量的分配区域
- java基础_day0001_变量定义规则
- apache设置虚拟主机
- 怎么给MindMapper添加特殊字符
- leetcode_middle_73_80. Remove Duplicates from Sorted Array II
- 微信公众号文章采集的入口--历史消息页详解
- 有关存储区的区域分配问题
- mac双开eclipse
- centos 安装 MySQLdb 和 psycopg2
- js日期格式化: javascript Date format()
- editplus快捷键汇总
- BZOJ 2017省队十连测推广赛1
- pci_bus_type/amba_bustype/platform_bus_type 下的driver使用smmu
- HashMap 内部原理
- Class bytes found but defineClass()failed for: 错误解决