亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言關鍵字static的作用和用法

發布時間:2021-08-26 18:17:17 來源:億速云 閱讀:139 作者:chen 欄目:開發技術

這篇文章主要介紹“C語言關鍵字static的作用和用法”,在日常操作中,相信很多人在C語言關鍵字static的作用和用法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C語言關鍵字static的作用和用法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

目錄
  • 1.修飾局部變量

    • 1.1作用

    • 1.2舉例

      • (1)不加static

      • (2)加static

      • (3)靜態局部變量的初始化只會進行一次

  • 2.修飾全局變量

    • 2.1作用

      • 2.2舉例

        • (1)不加static

        • (2)加static

    • 3.修飾函數

      • 3.1作用

        • 3.2舉例

          • (1)不加static

          • (2)加static

      1.修飾局部變量

      1.1作用

      ststic修飾局部變量,會改變局部變量的生命周期,不改變作用域:

      生命周期:和全局變量一樣具有全局性,但在內存中的位置沒有改變,還在在靜態存儲區中。

      作用域:作用域不改變。

      注意:靜態局部變量的初始化在整個變量定義時只會進行一次。

      1.2舉例

      (1)不加static
      #include <stdio.h>
      Show()
      {
      	int j = 0;
      	j++;
      	printf("j=%d\n", j);
      }
      int main()
      {
      	int i = 0;
      	for (i = 0; i < 10; i++)
      	{
      		Show();
      	}
      	return 0;
      }

      C語言關鍵字static的作用和用法

      (2)加static
      #include <stdio.h>
      Show()
      {
      	static int j = 0;//生命周期變為全局的,
      	j++;
      	printf("j=%d\n", j);
      }
      int main()
      {
      	int i = 0;
      	for (i = 0; i < 10; i++)
      	{
      		Show();
      	}
      	return 0;
      }

      C語言關鍵字static的作用和用法

      (3)靜態局部變量的初始化只會進行一次
      #include <stdio.h>
      
      Show()
      {
      	static int j = 0;
      	j = 3;
      	j++;
      	printf("j=%d\n", j);
      }
      
      int main()
      {
      	int i = 0;
      	for (i = 0; i < 10; i++)
      	{
      		Show();
      	}
      	return 0;
      }

      C語言關鍵字static的作用和用法

      2.修飾全局變量

      2.1作用

      static修飾全局變量,表示全局變量只在本文件內有效,取消了全局變量的跨文件屬性。

      2.2舉例

      由于static對全局變量的作用在一個文件里體現不出來,固我們創建兩個文件,
      在test1.c中通過extern引用外部變量g_vale,在test2.c中創建全局變量g_vale 。

      (1)不加static

      test1.c:

      #include <stdio.h>
      extern int g_vale;
      int main()
      {
      	printf("g_vale=%d\n", g_vale);
      	return 0;
      }

      test2.c:

      #include <stdio.h>
      int g_vale = 100;//定義全局變量

      編譯運行:

      C語言關鍵字static的作用和用法

      (2)加static

      test1.c

      #include <stdio.h>
      extern int g_vale;
      int main()
      {
      	printf("g_vale=%d\n", g_vale);
      
      	return 0;
      }

      test2.c

      #include <stdio.h>
      static int g_vale = 100; //定義靜態全局變量

      編譯運行:運行失敗,無法解析外部符號g_vale

      C語言關鍵字static的作用和用法

      3.修飾函數

      3.1作用

      static修飾函數,和其修飾全局變量類似,表示函數只可在本文件內調用使用,取消了函數的跨文件屬性。

      3.2舉例

      由于static對函數的作用在一個文件里體現不出來,固我們創建兩個文件,
      在test1.c中通過extern引用外部函數Show( ),在test2.c中創建Show( )函數

      (1)不加static

      test1.c:

      #include <stdio.h>
      extern  Show();//也可以不寫聲明,文件在鏈接時也可以找到,但會出現Warning:Show()未定義
      int main()
      {
      	Show();
      	system("pause");
      	return 0;
      }

      test2.c:

      #include <stdio.h>
      void Show()
      {
      	printf("This is Show()\n");
      }

      編譯運行:

      C語言關鍵字static的作用和用法

      (2)加static

      test1.c:

      #include <stdio.h>
      extern  Show();
      int main()
      {
      	Show();
      	system("pause");
      	return 0;
      }

      test2.c:

      #include <stdio.h>
      static void Show()
      {
      	printf("This is Show()\n");
      }

      編譯運行:運行失敗,無法解析外部符號Show

      C語言關鍵字static的作用和用法

      到此,關于“C語言關鍵字static的作用和用法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

      向AI問一下細節

      免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

      AI

      侯马市| 庆元县| 新余市| 平安县| 长葛市| 梧州市| 监利县| 定陶县| 通许县| 平山县| 和静县| 邓州市| 油尖旺区| 泸定县| 宿迁市| 广西| 莱州市| 莎车县| 汪清县| 射洪县| 康乐县| 绥中县| 锡林浩特市| 乳源| 五台县| 开鲁县| 讷河市| 康保县| 克什克腾旗| 锦州市| 霍城县| 宁河县| 九龙城区| 遂宁市| 阜城县| 静宁县| 渭源县| 怀化市| 清苑县| 若尔盖县| 吴江市|