對記憶體資源存放位置的限定,即資源屬性中位置的限定
1.1 定義:限制變數定義在棧空間上的修飾符
在定義乙個變數後,預設變數分配的記憶體可讀可寫的區域(棧空間)
即:int a;==auto int a;
區域如果在{}裡面,預設資料儲存在棧空間。
2.1 定義:限制變數定義在暫存器上的修飾符
2.2 特點:
1.定義一些快速訪問的變數。
2.編譯器會盡量的安排cpu的暫存器去存放這個變數,如果暫存器空間不足,變數還是儲存在儲存器中。
3.不能取變數位址。
3.1 定義:靜態變數
3.2 應用場景:
修飾3種資料:
1)函式內部變數
int fun()
2)修飾函式外部變數
int a;====>static int a;
int fun()
優化編譯時,檢測a在軟體中不修改,則不進行取a位址操作,直接進入if判斷。
型別修飾符volatile關鍵字
volatile關鍵字是一種型別修飾符,用它宣告的型別變數表示可以被某些編譯器未知的因素更改,比如 作業系統 硬體或者其它執行緒等。遇到這個關鍵字宣告的變數,編譯器對訪問該變數的 就不再進行優化,從而可以提供對特殊位址的穩定訪問。使用該關鍵字的例子如下 int volatile nvint 當要求使...
關鍵字 型別修飾符 8
資源分類 有些記憶體是可讀的有些是可寫的,我們一般定義的char a,就是auto char a,就是自動變數,所謂普通變數就是在記憶體中可讀可寫中分配的一塊區域,如果這個變數定義在函式體中,我們認為這個自動變數實在棧空間中,記憶體分配的位置實際上跟某些 的執行流程有關係,比如手機開機的畫面,這種的...
c語言的關鍵字之修飾符
const修飾的是在它前面的型別,如果它前面沒有型別,那它修飾的是緊跟著它的那個型別。const type name value 或 type const name value 復引用運算子 dereferencing operator 常稱為間接運算子 indirection operator 返...