Menu Close

变量的动态存储方式与静态存储方式

前面已经介绍了,从变量的作用域(即从空间)角度来分,可以分为全局变量和局部变量。

从另一个角度,从变量值存在的作时间(即生存期)角度来分,可以分为静态存储方式和动态存储方式。静态存储方式:是指在程序运行期间分配固定的存储空间的方式。
动态存储方式:是在程序运行期间根据需要进行动态的分配存储空间的方式。

用户存储空间可以分为三个部分:
1) 程序区;
2) 静态存储区;
3) 动态存储区;

 

全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序行完毕就释放。在程序执行过程中它们占据固定的存储单元,而不动态地进行分配和释放;

动态存储区存放以下数据:

  1. 函数形式参数;
  2. 自动变量(未加 static 声明的局部变量);
  3. 函数调用时的现场保护和返回地址;

对以上这些数据,在函数开始调用时分配动态存储空间,函数结束时释放这些空间。在 c 语言中,每个变量和函数有两个属性:数据类型和数据的存储类别。

 

 

除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!
Posted in C语言教程