1、一个由C/C++编译的程序在运行时,所占用的内存分为以下4个部分:
-
代码区:存放函数体的二进制代码,由操作系统进行管理的。
-
栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值、局部常量等。
-
堆区(heap):由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收。
-
全局区(static):存放全局变量、全部静态变量(局部和全局)以及全局常量。
2、写一个简单的代码,大致演示 栈区 、堆区、全局区的内存区域:

3、C++代码:
/*
C/C++程序运行时的内存分区
一个由C/C++编译的程序在运行时,所占用的内存分为以下4个部分:
代码区:存放函数体的二进制代码,由操作系统进行管理的。
栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值、局部常量等。
堆区(heap):由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收。
全局区(static):存放全局变量、全部静态变量(局部和全局)以及全局常量。
*/
/*写一个简单的代码,大致演示 栈区 、堆区、全局区的内存区域*/
#include<iostream>
#include<string>
using namespace std;
//*******************************//
//定义堆、栈、全局变量 //
//*******************************//
//(堆区)程序员自开辟内存地址
int * dui_new = new int(20);
int * dui_malloc = (int *)

最低0.47元/天 解锁文章
2034

被折叠的 条评论
为什么被折叠?



