c语言之static的使用总结

1,static定义局部变量和普通局部变量的对比:

static定义的变量具有记忆功能,可以保存上次修改的数值,而普通局部变量没有此功能。

#include<stdio.h>

static int g_j = 0; 

void fun_s_static()
{
   static int s_i = 0;
   s_i++;
   printf("fun_s_static:s_i=%d\n",s_i);
}

void fun_s()
{
    int s_i = 0;
	s_i++;
	printf("fun_s:s_i=%d\n",s_i);
}

void fun_g_static()
{
   g_j++; 
   printf("fun_g_static:g_j=%d\n",g_j);  
}

int main()
{
   int i;
   for (i=0;i<10;i++)
   {
      fun_s_static();
	  fun_s();
	  fun_g_static();
   }
}

代码运行结果如下:

总结如下:static定义的局部变量可以保存之前的数值,也可以用全局变量来代替,但是我们在项目中也是用static定义来使用。 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章