一、C语言中对一个定义一个变量就是为其在内存中分配一个空间,那个空间最开始从哪分配起呢?C语言中的内存分配是程序地址区域;文字常量地址区;全局变量地址区;空闲区(堆)地址区;堆栈地址区和操作系统地址区从地地址到高地址是分开的。一般来说,您可以找到主要讨论存储管理的C书籍。
简而言之,
一:全局变量、静态变量等变量通过静态存储分配的方式,将编译时确定的内存空间分配到全局变量地址区域。
二:栈-类型存储分配;编译器只知道编译时程序变量所需的空间,并在运行时为其分配地址;分配到栈地址区域,
三种类型:堆型存储分配;由堆组成。大片土地或空闲区块;堆中的内存可以以任何方式分配和释放。当程序编译时无法确定数据块的大小时(例如变长字符串);使用C语言进行动态内存分配,释放集群中的内存空间。
二、C语言,一个程序占用的内存分为哪几个区啊????可怜的孩子,没有一本C语言教材讲C语言最基本的内存分析。可以去专门的培训机构买书,里面会介绍一些。很多人还是得看那些培训机构的视频。学习了内存分析之后,指针的概念就只是浮云了。快点。
![](https://img2.baidu.com/it/u=1889861197,931364929&fm=253.jpg)