静态变量(static)的特点

静态变量(static):有局部变量,也有全局变量。

静态局部变量:在函数体内用static说明的变量称为静态局部变量,属于静态类别。

特点:

(1)它占据一个永久性的存储单元。随着文件的存在而存在。

(2)静态局部变量是在编译时赋初值,在程序执行期间,一旦存储单元中 的值改变,就不会再执行赋初值的语句。未赋初值的变量其值为0。

#include "stdio.h"

int f(int a)
 {  
    int b=0;      

    static int c=3;//有static和没有static的输出结果不一样
    b=b+1,c=c+1;//有static输出7 8 9 ,没有static输出7 7 7
    return  (a+b+c);  
 }

int main()
{
    int i,a=2;
    for(i=0;i<3;i++)
    printf("%d\n",f(a) );
    return 0;

}


#include "stdio.h"

int fun(int n)

{   
    static int f=1;
    f=f*n;
    return  f;  
}
 int main()
 {  
    int i;
    for(i=1;i<=5;i++)
    printf("%d\n",fun(i) );
    return 0;
 }
//输出结果是1 2 6 24 123

转载于:https://www.cnblogs.com/fazero/p/4499167.html

你可能感兴趣的:(静态变量(static)的特点)