一、内存四驱模型
流程说明:
1、运行可执文件时,操作系统将物理硬盘代码load到内存。
2、操作系统把C代码分成四个区:
(1)堆区(heap):一般由程序员分配释放(动态内存申请与释放),若程序员不释放
,则不会析构。
(2)栈区(stack):程序局部变量。 由编译器自动分配释放,存储函数的参数值,局
部变量的值等。程序结束时自动析构。
(3)全局区((静态区static)):有常量和全局变量(操作系统统一管理)
全局变量和静态变量的存储室放在一块的,初始化的全局变量
和静态变量是在一块区域,未初始化的全局变量和未初始化的
静态变量在相邻的另一块区域,该区域在程序结束后由操作系
统释放。
常量区:字符串常量和其他常量的存储位置,程序结束后由操
作系统释放。
(4)代码区(code):存放函数体的二进制代码。
3、操作系统找到main函数入口执行。
#include "stdio.h"
#include "stdlib.h"
#include "str