<2> 内存四区和函数的调用模型
来源:互联网 发布:网购选哪软件好 编辑:程序博客网 时间:2024/06/01 16:31
1 . 内存四区
1 . 1 内存四区图
如下图,这是操作系统在执行程序时的分配内存情况,内存管理将内存分为四个部分:堆、栈、数据区域、代码区域。
当编译器执行代码的时候,首先是从硬盘中将代码加载到内存中,然后操作系统将代码分为4个部分:堆、栈、数据区域、代码区域。
堆:由程序员动态分配内存,并且手动释放。如果程序员不进行手动释放的操作,这部分可能被操作系统回收。(malloc、new、free等)
栈:由编辑器自动分配和释放,生命周期结束时,被回收,并且根据栈的“先进后出”的原则,先申请的后释放。(int、double、float等)
全局区:全局变量、静态变量(static)等。
代码区:存放函数体的二进制代码
#include <stdio.h>#include <stdlib.h>#include <string>#include <vector>#include <malloc.h>static std::string text = "123";// 全局区int main(){int a;// 栈(自动分配,Main函数执行结束后,被编辑器释放)int b;// 栈(自动分配,Main函数执行结束后,被编辑器释放)int c;// 栈(自动分配,Main函数执行结束后,被编辑器释放)float a1;// 栈(自动分配,Main函数执行结束后,被编辑器释放)float b1;// 栈(自动分配,Main函数执行结束后,被编辑器释放)float c1;// 栈(自动分配,Main函数执行结束后,被编辑器释放)int *d = (int*)malloc(sizeof(int)*100);// 堆(手动分配,分配了100*4个字节)free(d);// 手动释放system("pause");return 0;}
2 . 函数调用模型
阅读全文
0 0
- <2> 内存四区和函数的调用模型
- C语言:内存四区和函数调用模型
- C语言模型:内存四区模型和函数调用模型
- C语言之指针专题三:理解指针要和内存四区模型和函数调用模型相结合
- C语言之指针专题三:理解指针要和内存四区模型和函数调用模型相结合
- C语言提高之技术模型层次、学习标准、特点、内存四区、函数调用模型
- 函数的调用及其内存模型
- c++学习笔记 内存四区 函数调用模型 指针强化
- c++学习笔记 内存四区 函数调用模型 指针强化
- 深入内存模型和函数调用机制,理解析构函数的执行顺序
- 内存四区模型
- 内存四区模型
- 内存四区模型
- C++中变量内存模型和函数调用
- 01内存四区模型的引入
- 程序的内存四区模型
- c/c++关于内存四区的模型。
- 【C语言提高04】程序的内存四区模型
- 用intelliJ IDEA导入myeclipse项目
- 数据结构(DATE STRUCTURE)实验A
- 测试适配及MyApplication
- mysql ,MD5盐值加密
- vue.js2.0非父子 组件之间传参
- <2> 内存四区和函数的调用模型
- 二.算法描述与分析
- vue 如何使用websocket
- Android常用开源项目(四十七)
- EditText如何修改光标颜色?
- Gradle for Android(四)
- post表单提交后,后台获取数据为null 大量数据的时候会出现这个问题
- 数组去重
- android不同形状的头像