目錄
一,static關鍵字
在C語言中,關鍵字static有三個明顯作用:
1,修飾局部變量,改變了變量的生存期,該變量只被初始化一次,下一次依據上一次結果值。
2,修飾全局變量,改變了變量的作用域,該變量只能在本文件中訪問,不能在其它文件中訪問。
3,修飾一個函數,改變了函數的作用域,該函數只能在本文件中調用,不能被其他文件調用。
二,const關鍵字
1,const作用:可以用來定義常量,修飾函數參數,修飾函數返回值,被const修飾東西,都受到強制保護,防止其它代碼無意識修改,從而提高程序的健壯性。
2,const規則:const離誰近,誰就不能被修改;const修飾一個變量時,一定要給這個變量初始化,若不初始化,在後面也不能初始化。
3,const優點:
3.1,編譯器可以對const進行類型安全檢查(所謂的類型安全檢查,能將程序集間彼此隔離開來,這種隔離能確保程序集彼此間不會產生負面影響,提高程序的可讀性)。
3.2,有些集成化的調試工具可以對const常量進行調試,使編譯器對處理內容有了更多的瞭解,消除了一些隱患。
3.3,可以節省空間,避免不必要的內存分配,因爲編譯器通常不爲const常量分配內存空間,而是將它保存在符號表中,這樣就沒有了存儲於讀內存的操作,使效率也得以提高。
3.4,可以很方便的進行參數的修改和調整,同時避免意義模糊的數字出現。
三,volatile關鍵字
1,volatile作用:一個定義爲volatile的變量說明這個變量可能會被意想不到地改變。在用到這個變量時,必須每次都要重新從內存中讀取這變量的值,而不是使用保存在寄存器裏的備份。
2,volatile的三個例子:
2.1,並行設備的硬件寄存器(如,狀態寄存器)。
2.2,一箇中斷服務子程序中會訪問到的非自動變量。
2.3,多線程應用中被幾個任務共享的變量。
歡迎訂閱公衆號【從零開始學無線】,一起學習交流!