应用程序在内存中的位置

一个完整的应用程序在内存中的分布通常会是这样子的:

代码区(Code Segment):代码区,顾名思义,存放程序的可执行代码。

常量区(Const Segment):所有的常量都是存放在常量区。

全局数据区(Global Data Segment):全局数据区存放的是全局变量或者是static 变量。

栈区(Static Segment):栈区存放的是所有局部变量,一个函数的参数。

堆区(Heap Segment):堆区的数据由程序员申请并且释放,如果程序员不释放,那么程序在结束之后,会由操作系统进行释放。堆区的内存空间通过malloc或者new申请出来的。

(C#中 struct是在栈区而class是在堆区,因此C#中,struct的速度比class快。)

原文地址:https://www.cnblogs.com/BreakMind/p/2105861.html