国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

static全局變量與普通的全局變量的區別詳細解析

2020-01-26 15:48:11
字體:
來源:轉載
供稿:網友

(1)static全局變量與普通的全局變量有什么區別?
(2)static局部變量和普通局部變量有什么區別?
(3)static函數與普通函數作用域有什么不同?
(4)static函數與普通函數有什么區別?

(1)static全局變量與普通的全局變量有什么區別?
答:全局變量的說明之前再加以static 就構成了靜態的全局變量。全局變量本身就是靜態存儲方式,靜態全局變量當然也是靜態存儲方式。這兩者在存儲方式上并無不同。這兩者的區別雖在于非靜態全局變量的作用域是整個源程序,當一個源程序由多個源文件組成時,非靜態的全局變量在各個源文件中都是有效的。而靜態全局變量則限制了其作用域,即只在定義該變量的源文件內有效,在同一源程序的其它源文件中不能使用它。由于靜態全局變量的作用域局限于一個源文件內,只能為該源文件內的函數公用,因此可以避免在其它源文件中引起錯誤。從以上分析可以看出,把局部變量改變為靜態變量后是改變了它的存儲方式即改變了它的生存期。把全局變量改變為靜態變量后是改變了它的作用域, 限制了它的使用范圍。

(2)static局部變量和普通局部變量有什么區別?
答:static局部變量只被初始化一次,下一次依據上一次結果值;

(3)static函數與普通函數作用域有什么不同點?
答:僅在本文件。只在當前源文件中使用的函數應該說明為內部函數(static),內部函數應該在當前源文件中說明和定義。對于可在當前源文件以外使用的函數,應該在一個頭文件中說明,要使用這些函數的源文件要包含這個頭文件。

(4)static函數與普通函數有什么區別?
答:static函數在內存中只有一份,普通函數在每個被調用中維持一份拷貝程序的局部變量存在于(堆棧)中,全局變量存在于(靜態區)中,動態申請數據存在于(堆)中。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 霍林郭勒市| 四会市| 阜阳市| 苏州市| 土默特右旗| 常宁市| 中宁县| 潮安县| 海宁市| 新宾| 五河县| 都匀市| 稷山县| 长宁区| 团风县| 嘉鱼县| 临沭县| 集安市| 库尔勒市| 开平市| 车险| 霞浦县| 武鸣县| 河北区| 宜阳县| 淳化县| 棋牌| 嘉祥县| 阿瓦提县| 旌德县| 宜川县| 兴义市| 伽师县| 礼泉县| 佛山市| 边坝县| 宁晋县| 青岛市| 丰顺县| 京山县| 建始县|