【摘要】:全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序执行完毕就释放。在程序执行过程中,它们占据固定的存储单元,而不动态地进行分配和释放。
前面已经介绍了,从变量的作用域 (即从空间)角度来分,可以分为全局变量和局部变量。
从另一个角度,从变量值存在的时间 (即生存期)角度来分,可以分为静态存储方式和动态存储方式。
静态存储方式:是指在程序运行期间分配固定的存储空间的方式。
动态存储方式:是在程序运行期间根据需要进行动态分配存储空间的方式。
用户存储空间可以分为三个部分,如图8-4所示。
①程序区;
②静态存储区;
③动态存储区。
图8-4
全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序执行完毕就释放。在程序执行过程中,它们占据固定的存储单元,而不动态地进行分配和释放。
动态存储区存放以下数据:
①函数形式参数;
②自动变量 (未加static声明的局部变量);
③函数调用时的现场保护和返回地址。
对以上这些数据,在函数开始调用时分配动态存储空间,函数结束时释放这些空间。
在C语言中,每个变量和函数有两个属性:数据类型和数据的存储类别。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。