變數是指其值可以變化的量。在計算機中,指令**、資料都儲存於記憶體中。變數也需要儲存在記憶體中。在計算機中,每個變數都被分配了一塊記憶體空間,在這些空間儲存的就是變數的值。
在源**中,每個變數都有變數名。實際上,編譯後的目標**裡並沒有變數名字,而是記錄著變數在記憶體空間中的位址。在c語言中,通過變數名可以訪問到變數的值,對變數名的訪問,就是對變數值的訪問。
當源**中需要將新值賦給變數x的時候,比如x=5678。編譯器通過變數名查詢變數符號表,得到變數的位址為2000,就可以把新值5678儲存在位址編號為2000的記憶體空間中。
當源**中需要取變數x的值的時候,編譯器實際上去查詢變數符號表,發現了變數x對應的記憶體位址是2000,變數型別是int,於是就可以從記憶體位址為2000的空間中取得變數的值。
int a,b:
這是向編譯器宣告程式中將會用到兩個整型變數,其名字為a和b。此時並不會進行真正的記憶體分配動作,也就是此時並沒有記憶體位址和變數關聯。
a=1;
第一次訪問變數的時候,編譯器會為變數分配記憶體,假如給a分配的記憶體空間的編號為2000,於是將數值1儲存在2000所對應的記憶體空間中。 變數的本質解析
資料型別 固定記憶體大小的別名 變數是既能寫又能讀的記憶體物件 而一旦初始換不能修改的物件叫常量 變數三要素 名稱,大小,作用域 變數的生命週期也是乙個重要的概念 可以看成編譯器何時自動釋放掉記憶體 可以看這篇 變數的本質 1.程式通過變數申請和命名記憶體空間 2.通過變數訪問記憶體空間 一段連續的...
變數本質分析
概念 既能讀又能寫的記憶體物件,稱為變數 若一旦初始化後不能修改的物件則稱為常量。變數定義形式 型別 識別符號,識別符號,識別符號 例如 int x int wordcut radius height double flighttime mileage speed 1 程式通過變數來申請和命名記憶體...
變數的本質是什麼
既能讀又能寫的記憶體物件,初始化後不能修改的被叫做常量 變數就是記憶體空間的別名 程式通過變數來申請和命名記憶體空間int a 1 通過變數名訪問記憶體空間 記憶體空間可以取別名嗎?變數只是記憶體空間的別名 所以顯然當然可以取別名 通過變數操作記憶體 變數的位址是記憶體空間位址 展示 int a 1...