内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理]课件.docVIP

  • 1
  • 0
  • 约5.19千字
  • 约 5页
  • 2017-06-07 发布于湖北
  • 举报

内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理]课件.doc

内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理] 一. 在c中分为这几个存储区 1.栈 - 由编译器自动分配释放 2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放 4.另外还有一个专门放常量的地方。- 程序结束释放 ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 在函数体中定义的变量通常是在栈上,用malloc, calloc, realloc等分配内存的函数分配得到的就是在堆上。在所有函数体外定义的是全局量,加了static修饰符后不管在哪里都存放在全局区(静态区),在所有函数体外定义的static变量表示在该文件中有效,不能extern到别的文件用,在函数体内定义的static表示只在该函数体内有效。另外,函数中的adgfdf这样的字符串存放在常量区。比如: int?a?=?0;?//全局初始化区 char?*p1

文档评论(0)

1亿VIP精品文档

相关文档