|簡體中文

比思論壇

 找回密碼
 按這成為會員
搜索



查看: 1252|回復: 1
打印 上一主題 下一主題

[應用程式] static 存储类

[複製鏈接]

1218

主題

4

好友

8053

積分

教授

Rank: 8Rank: 8

  • TA的每日心情
    開心
    6 天前
  • 簽到天數: 720 天

    [LV.9]以壇為家II

    推廣值
    0
    貢獻值
    2
    金錢
    703
    威望
    8053
    主題
    1218
    樓主
    發表於 2021-8-22 13:44:12
    static 存储类指示编译器在程序的生命周期内保持局部变量的存在,而不需要在每次它进入和离开作用域时进行创建和销毁。因此,使用 static 修饰局部变量可以在函数调用之间保持局部变量的值。

    static 修饰符也可以应用于全局变量。当 static 修饰全局变量时,会使变量的作用域限制在声明它的文件内。

    全局声明的一个 static 变量或方法可以被任何函数或方法调用,只要这些方法出现在跟 static 变量或方法同一个文件中。

    以下实例演示了 static 修饰全局变量和局部变量的应用:
    实例
    #include <stdio.h>

    /* 函数声明 */
    void func1(void);

    static int count=10;        /* 全局变量 - static 是默认的 */

    int main()
    {
      while (count--) {
          func1();
      }
      return 0;
    }

    void func1(void)
    {
    /* 'thingy' 是 'func1' 的局部变量 - 只初始化一次
    * 每次调用函数 'func1' 'thingy' 值不会被重置。
    */               
      static int thingy=5;
      thingy++;
      printf(" thingy 为 %d , count 为 %d\n", thingy, count);
    }


    頭像被屏蔽

    8

    主題

    0

    好友

    2801

    積分

    禁止發言

  • TA的每日心情
    慵懶
    2023-7-23 17:55
  • 簽到天數: 1435 天

    [LV.10]以壇為家III

    推廣值
    0
    貢獻值
    0
    金錢
    2906
    威望
    2801
    主題
    8
    沙發
    發表於 2021-9-19 20:13:04
    提示: 作者被禁止或刪除 內容自動屏蔽
    重要聲明:本論壇是以即時上載留言的方式運作,比思論壇對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,讀者及用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,讀者及用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本論壇受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者及用戶發現有留言出現問題,請聯絡我們比思論壇有權刪除任何留言及拒絕任何人士上載留言 (刪除前或不會作事先警告及通知 ),同時亦有不刪除留言的權利,如有任何爭議,管理員擁有最終的詮釋權。用戶切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。

    手機版| 廣告聯繫

    GMT+8, 2024-11-9 10:08 , Processed in 0.013092 second(s), 19 queries , Gzip On, Memcache On.

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回頂部