变量生存周期和静态局部变量

 

只有当函数被调用时, 其形参和局部变量才被分配了内存, 一旦调用结束, 其空间将被回收.根据这种特性, 把局部变量称为自动变量.

定义形式  :   auto int x, y;

在定义时, auto一般省略.

静态变量赋初始值只有在函数第一次调用时起作用, 若没有赋初始值,系统自动赋0.

  1 #include<stdio.h>
  2 double fact_s(int i){
  3     static double f = 1;
  4     f = f * i;
  5     return f;
  6 }
  7 int main(void){
  8     int i;
  9     for(i = 1; i <= 10; i++){
 10         printf("%d!, %0.f
", i, fact_s(i));
 11     }
 12     return 0;
 13 }
原文地址:https://www.cnblogs.com/tanxing/p/6652636.html