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

Posted 谭兄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了变量生存周期和静态局部变量相关的知识,希望对你有一定的参考价值。

 

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

定义形式  :   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\n", i, fact_s(i));
 11     }
 12     return 0;
 13 }

 

以上是关于变量生存周期和静态局部变量的主要内容,如果未能解决你的问题,请参考以下文章

C ------ static 关键字的作用

浅析变量的作用域和生存周期的差别

static变量有啥作用

全局变量与静态全局变量的异同(static与非static)

全局变量与静态全局变量的异同(static与非static)

Arduino使用static定义局部静态变量