摘要: 4常量的内存分配4.1应用程序的内存结构一个由C++编译的应用程序,占用的内存可以划分为如下几个部分:栈(stack)。由编译器自动分配释放。存放函数参数和函数里的局部变量(又称自动变量)。其操作方式类似于数据结构中的栈。例如,声明在函数中一个局部变量int x; 系统自动在栈中为x分配一块空间,该空间存储x的值。堆(heap)。用于动态内存空间分配。一般由程序员进行分配和释放,若程序员不释放,程序结束时可能由操作系统回收。注意它与数据结构中的堆是两回事,分配方式类似于链表。内存分配在C中使用malloc函数,在C++中用new操作符。以下为C语言小示例:p1 = (char *)malloc 阅读全文
posted @ 2013-07-04 09:33 冷舞 阅读(500) 评论(0) 推荐(0) 编辑
摘要: 1概述一个C++程序就是一系列数据与操作的集合。当一个C++程序开始运行的时候,与该程序相关的数据就会被加载到内存中。当数据与内存发生关联的时候,这些数据就会具有如下的特性:数据在内存中的地址。这个地址决定了数据在内存中的存储位置。在32位的系统中,每一个C++程序都具有4GB大小的内存地址空间,这个4GB大小的内存空间又被划分为若干个区域,如:栈区,堆区,全局(静态)区,文字常量区,以及程序代码区。不同内存地址的数据将会被存储在不同的内存区域中;数据在内存中的值。如果该值可变,那么该数据就是变量;如果该值不可变,那么该数据就是常量;数据的类型。数据的类型决定了数据占用内存的多少。如:Int型 阅读全文
posted @ 2013-07-04 09:31 冷舞 阅读(792) 评论(0) 推荐(0) 编辑