C/C++程序运行时的内存分区演示(全局区、堆区、栈区)

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 *)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水浒传鲁智深

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值