常量:在程式執行過程中值不會發生變化的量。
分類:整型常量、實型常量、字元常量(由單引號引起來的字元或轉義字元:\t,\n,\017等)、字串常量,標識常量(#define)
變數:用來儲存一些特定內容,並且在程式執行過程中隨時會發生變化的量。
[儲存型別] 資料型別 識別符號 = 值
type name = value ;
識別符號:給某段記憶體空間起個名字而已,盡量做到見名生義
儲存型別:auto static register extern(說明型關鍵字)
auto:預設,自動分配空間,自動**空間。在棧上
register(建議型):暫存器型別,資源少速度快,只能用於區域性變數,不能定義全域性變數,只能定義32位大小的資料型別(32位環境),暫存器中沒有位址,所以乙個暫存器型別的變數無法列印出位址檢視或使用。
static(靜態型):自動初始化為0或空值,並且有繼承性。
extern(說明型):不能夠改變被說明的變數的值。
*********************************************
#define 巨集名 (巨集體) //並不做語法檢查
eg:#define pi 3.1415
define可以帶引數
#define max(a,b) ((a)>(b) ?(a):(b))
#define在預處理的過程中處理,占用的是編譯時間
函式在呼叫的位置,對當前的執行現場進行壓棧儲存,然後跳往函式的入口位址執行,函式執行完畢後,彈棧恢復現場,占用的是執行時間
*********************************************=
程序的記憶體布局:
**段:**段是用來存放可執行檔案的操作指令,也就是說是它是可執行程式在記憶體中的映象。**段需要防止在執行時被非法修改,所以只准許讀取操作,而不允許寫入(修改)操作——它是不可寫的。
資料段:資料段用來存放可執行檔案中已初始化全域性變數,換句話說就是存放程式靜態分配的變數和全域性變數。
bss段:bss段包含了程式中未初始化的全域性變數,在記憶體中 bss段全部置零。
堆(heap):堆是用於存放程序執行中被動態分配的記憶體段,它的大小並不固定,可動態擴張或縮減。當程序呼叫malloc等函式分配記憶體時,新分配的記憶體就被動態新增到堆上(堆被擴張);當利用free等函式釋放記憶體時,被釋放的記憶體從堆中被剔除(堆被縮減)
棧:棧是使用者存放程式臨時建立的區域性變數,也就是說我們函式括弧「{}」中定義的變數(但不包括static宣告的變數,static意味著在資料段中存放變數)。除此以外,在函式被呼叫時,其引數也會被壓入發起呼叫的程序棧中,並且待到呼叫結束後,函式的返回值也會被存放回棧中。由於棧的先進先出特點,所以棧特別方便用來儲存/恢復呼叫現場。從這個意義上講,我們可以把堆疊看成乙個寄存、交換臨時資料的記憶體區。
變數和常量
package com.xy.pf.test.xiti 關鍵字static 1.靜態方法和靜態變數是屬於某乙個類,而不屬於類的物件 2.靜態方法和靜態變數的引用直接通過類名呼叫 3.在靜態方法中不能呼叫非靜態的方法和引用非靜態的成員變數 反之,則可以 4.可以用類的物件obj來呼叫靜態的方法meth...
常量和變數
常量 固定的資料 四類 整型 浮點型 單精度和雙精度 字元型 字串型 字元型常量 不能是中文,單引號引起來的 字串型常量 雙引號引起來的 變數 表示乙個需要經常改變或者不確定的資料 特點 1.建立了乙個變數相當於在記憶體中占用了一片空間 2.空間的大小是固定的,但裡面的資料可以改變 3.同乙個作用域...
常量和變數
1 常量 vb中常量分為兩種,一種是文字常量,一種是符號常量。1.文字常量 vb的文字常量分為兩種,即字串和數值。1.字串常量 字串常量由字元組成,可以是除雙引號和回車符之外的任何ascii字元。2.數值常量 數值常量共有4重表示方式,即整形數 長整型數 貨幣型數和浮點數。文字常量的四種方式 1.整...