作用域:變量可被通路的有效範圍。
生命周期:變量存儲空間的有效生存時間。
extern int c; 通過關鍵字extern來告訴程式int c;是别的程式中定義的。
extern int fun(void); 表示這個方式是在其它的檔案中定義的。
全局變量在程式的任何地方都可以被調用到,生命周期是從程式啟動到程式結束。
關于程式記憶體。
bss區的生命周期是從程式的開始到程式的結束。
volatile:防止編輯器優化對記憶體的讀寫,而造成資料不一緻,每次通路被volatile修飾的變量值都需要從記憶體中新取值,常用于操作外設硬體裝置是,修飾其硬體記憶體/寄存器。
register:寄存器變量,被修飾變量盡可能希望得到寄存器存儲空間,以提高對該變量的i/o效率,但register修飾的變量不一定能得到寄存器存儲空間,取決于編譯器。
8、一個指針的案例
2、案例說明記憶體分布