c语言中的堆、栈和内存映射

简介: Code Area(代码区):程序代码指令、常量字符串,只可读。 Static Area(静态区):存放全局变量/常量、静态变量/常量。 该区域的大小在程序一加载进内存的时候就已固定,但是静态变量的值是可以改的。

Code Area(代码区):程序代码指令、常量字符串,只可读。

Static Area(静态区):存放全局变量/常量、静态变量/常量。 该区域的大小在程序一加载进内存的时候就已固定,但是静态变量的值是可以改的。

Heap(堆):由程序员控制,使用malloc/free来操作。

Stack(栈):预先设定大小,自动分配与释放。

例子1:

例子2:

栈(stack)的实现原理

我的GitHub地址: https://github.com/heizemingjun
我的博客园地址: http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
相关文章
|
6天前
|
程序员 C语言
C语言库函数 — 内存函数(含模拟实现内存函数)
C语言库函数 — 内存函数(含模拟实现内存函数)
15 0
|
17天前
|
编译器 C语言 C++
【C语言】memset()函数(内存块初始化函数)
【C语言】memset()函数(内存块初始化函数)
23 0
|
17天前
|
编译器 C语言 C++
【C语言】memcpy()函数(内存块拷贝函数)
【C语言】memcpy()函数(内存块拷贝函数)
37 0
|
26天前
|
存储 C语言
c语言中动态内存分配
c语言中动态内存分配
10 0
|
8天前
|
存储 编译器 C语言
深入探索C语言动态内存分配:释放你的程序潜力
深入探索C语言动态内存分配:释放你的程序潜力
26 0
|
17天前
|
编译器 C语言 C++
【C语言】calloc()函数详解(动态内存开辟函数)
【C语言】calloc()函数详解(动态内存开辟函数)
23 0
|
17天前
|
存储 编译器 程序员
【C语言】内存的动态分配与释放
【C语言】内存的动态分配与释放
26 0
|
18天前
|
存储 编译器 程序员
【C语言】整形数据和浮点型数据在内存中的存储
【C语言】整形数据和浮点型数据在内存中的存储
12 0
|
21天前
|
存储 缓存 安全
深入理解内存映射:mmap映射的背后原理以及和共享内存的差异
深入理解内存映射:mmap映射的背后原理以及和共享内存的差异
50 0
|
21天前
|
存储 Linux 程序员
【Linux C/C++ 堆内存分布】深入理解Linux进程的堆空间管理
【Linux C/C++ 堆内存分布】深入理解Linux进程的堆空间管理
66 0