问题描述
- 啊c数据储存区的问题啊
- 储存区分为静态储存区和动态储存区。动态储存区分为:堆和栈。那么,静态储存区是储存什么的呢?求详细解释谢谢了
解决方案
如果你将存储区分成静态存储区和动态存储区的话,那静态存储区存放全局变量、常量和静态局部变量。
存储区从低地址到高地址依次为:代码区、数据区、自由存储区、堆区和栈区,其中堆由低地址往高地址增长使用,栈由高地址往低地址增长使用。
数据区就是你说的静态存储区了,存放全局变量、常量和静态局部变量等,包括初始化的或者没有初始化的
解决方案二:
静态存储其实就是编译器将你嵌入在程序中的数据一并写入到exe中。在程序运行的时候,操作系统自动将exe加载到内存中,在内存中有一份和exe文件一样的拷贝。
这些就是静态存储。
解决方案三:
从变量的生存期分,有动态存储和静态存储两种,动态存储即在调用函数时临时分配单元,静态存储则是程序整个运行时间内都存在。
动态存储
形式参数(本函数内有效) auto自动变量(本函数内有效) register寄存器变量(本函数有效)
静态存储
静态局部变量(本函数内有效) 静态外部变量(本文件中有效)
时间: 2024-10-27 13:39:43