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定義來使用。 

 

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