首頁>Club>
9
回覆列表
  • 1 # Tiekt鐵鐵

    可以的,但是不推薦在標頭檔案中定義變數。因為很多.c檔案都可以包含.h檔案,也就是說這個變數會在很多.c檔案中存在一個副本。假如這是一個多檔案專案,在連線階段,聯結器就會抱怨存在多個相同變數名的全域性變數,導致連接出錯。所以.h檔案中一般只能包含全域性變數的宣告,函式宣告,宏定義一類的,在.h檔案中定義變數是不被推薦的。

  • 2 # 奮發藝術家xS

    定義靜態變數的關鍵字是:

    定義靜態變數的關鍵字是static如:static int a;

    在變數前,加上關鍵字 static 該變數就被定義成為了一個靜態變數。

    特點:

    A、該變數在全域性資料區分配記憶體。

    B、初始化:如果不顯式初始化,那麼將被隱式初始化為0(自動變數是隨機的,除非顯式地初始化)。

    C、訪變數只在本原始檔可見,嚴格的講應該為定義之處開始到本檔案結束。

  • 3 # 使用者102261777592

    在一個C程式中,若要定義一個只允許本源程式檔案中所有函式使用的全域性變數,則該變數需要定義的儲存類別是靜態變數static。 全域性變數(外部變數)的說明之前再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式, 靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同。這兩者的區別雖在於非靜態全域性變數的作用域是整個源程式, 當一個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是有效的。 而靜態全域性變數則限制了其作62616964757a686964616fe59b9ee7ad9431333433626437用域, 即只在定義該變數的原始檔內有效, 在同一源程式的其它原始檔中不能使用它。由於靜態全域性變數的作用域侷限於一個原始檔內,只能為該原始檔內的函式公用, 因此可以避免在其它原始檔中引起錯誤。

  • 中秋節和大豐收的關聯?
  • 人生觀很正的長句?