一.什麼是變數?變數的特點?
什麼是變數?
其值在其作用域內可以改變的量成為變數。乙個變數應該有乙個名字,在記憶體中佔據一定的儲存空間。變數在使用前必須要定義,每個變數都有自己的位址,變數依據其定義的型別,分為不同型別,如整型變數,字元型變數,浮點型變數,指標型變數等。變數的值可以發生改變,意味著它可以被覆蓋,被寫入,被賦值,每個變數必須要有乙個名字和它所在記憶體空間繫結。
變數的三大特點:
變數的資料型別:主要說明變數占用記憶體空間大小(如int型)
變數的作用域:變數的有效性的範圍,即:變數的使用範圍
變數的儲存型別:變數在記憶體中的儲存方式。不同的儲存方式,影響變數在記憶體中的生存週期。
二.宣告與定義的區別
定義:建立乙個變數,為其分配記憶體空間,並為它取名字(變數名),乙個變數只能定義一次。
宣告:告知編譯器,這個名字(變數名)已經匹配在一塊記憶體上了,但是並未為其分配記憶體。
定義性宣告:需要建立儲存空間。例如:int a在宣告的時候就已經建立了儲存空間。
引用性宣告:不需要建立儲存空間。例如:extern int a其中變數a是在別的檔案中定義的。
三.全域性變數與區域性變數的區別
1. 從儲存區域來講,全域性變數、靜態全域性變數和靜態區域性變數都存放在記憶體的靜態儲存區域(資料段),區域性變數存放在記憶體的棧空間。
2. 從作用域來講,全域性變數在整個工程檔案內都有效;靜態全域性變數只在定義它的檔案內有效;靜態區域性變數只在定義它的函式內有效。
(區域性變數是程式執行到該函式時給該變數分配記憶體空間,函式結束則釋放該記憶體空間;全域性變數是程式執行時事先分配記憶體空間,當程式結束時釋放記憶體。
3. 從初始化來講,全域性變數和靜態變數如果沒有手工初始化,則由編譯器初始化為0。區域性變數的值不可知。
四.變數的儲存區域劃分
程序空間的劃分(變數區域的劃分)
記憶體分配方式:從棧空間、堆空間、data段分配
C語言 資料型別 變數 常量
資料型別 c語言中,資料型別是指用來宣告不同型別的變數或函式的系統。變數的型別決定了變數儲存占用的空間。c中的資料型別 1.基本型別 算術型 整數型別和浮點型別。2.列舉型別 算術型 被用來定義在程式中只能賦予其一定的離散整數值得變數。3.void型別 型別說明符 void 表明沒有可用的值。4.派...
go語言 資料型別 變數與常量
資料型別 1 數值型別,字串型別和布林型 2 派生型別 3 型別零值和型別別名 4 型別所佔儲存大小 go語言 資料型別 整型 浮點型 複數 字串和布林型 資料型別的出現是為了把資料分成所需記憶體大小不同的資料,程式設計的時候需要用大資料的時候才會申請大記憶體,就可以充分利用記憶體 布林型的值,可以...
C語言資料型別 常量和變數
型別名 大小char 字元資料型別 1short 短整型2 int整形 4long 長整型4 float 單精度浮點數 4long long 更長的整形 8double 雙精度浮點數 8 1 字面常量 比如 1,2,a n 2 const定義的常量 const int a 10 在c語言中,當con...