C語言5種存儲類型

1.自動變量
默認情況下,在代碼塊或函數的頭部定義的任意變量都屬於自動存儲類。
自動存儲時期意味着程序在進入包含變量聲明的代碼塊時,變量開始存在。當程序離開這個代碼塊時,自動變量消失了。
初始化,除非手動初始化,否則不會被自動初始化。

2.寄存器變量
通常,變量存儲在計算機內存中。幸運的話可以存儲在CPU寄存器中,或者跟一般的,存儲在速度最快的可用內存中,從而可以比普通變量更快的訪問。但是你申請寄存器變量,系統在權衡後,可能不會允許。
聲明一個變量爲寄存器變量只需要加register就可以了。

3.具有代碼塊作用域的靜態變量
靜態變量(static variable)。這些變量和自動變量具有相同的作用域,但當包含這些變量的函數完成工作時,他們並不消失。
注意:對函數內的參量不能使用static定義。

4.具有外部鏈接的靜態變量
external variable 把變量的定義放在所有函數之外,創建了一個外部變量。爲了使程序更加清晰,可以在使用外部變量的函數中通過使用extern關鍵字來再次聲明他,如果是在別的文件中聲明的,那extern就是必須的。

5.具有內部鏈接的靜態變量
這個與全局變量的區別在於聲明時需要加上static關鍵字,同時無法被其他文件使用.自動初始化爲0.

發佈了19 篇原創文章 · 獲贊 1 · 訪問量 6994
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章