static與const的作用

2021-10-03 20:27:15 字數 948 閱讀 9853

static:

(1)設定變數的儲存域,函式體內static變數的作用範圍為該函式體,不同於auto變數,該變數的記憶體只被分配一次,因此其值在下次呼叫時仍維持上次的值;

(2)限制變數的作用域,在模組內的static全域性變數可以被模組內所用函式訪問,但不能被模組外其它函式訪問;

(3)限制函式的作用域,在模組內的static函式只可被這一模組內的其它函式呼叫,這個函式的使用範圍被限制在宣告它的模組內;

(4)在類中的static成員變數意味著它為該類的所有例項所共享,也就是說當某個類的例項修改了該靜態成員變數,其修改值為該類的其它所有例項所見;

(5)在類中的static成員函式屬於整個類所擁有,這個函式不接收this指標,因而只能訪問類的static成員變數。

const:

(1)在c語言中用const去修飾乙個變數,表示這個變數是唯讀的,不可通過顯式的呼叫a去修改a的值,並且此時a仍然是乙個變 量,不能等同於常量;

(2)要注意const在宣告變數時所處的位置,位置不同,在意義上可能會有很大的不同。如果const在'*'左邊,則表示指標指向的變數的值不可變;如果const在'*'右邊,則表示指標的值是不可變的,即指標的指向不可變; 例:

const int *a ,int const *a 表示*a不可變,即指標a指向的值不可以改變;

int * const a表示a的值不可以變,即指標a本身的值可以改變,不可以改變指標a的指向;

(3)c

語言和c++中的const有很大區別。在c語言中用const修飾的變數仍然是乙個變數;而在c++中用const修飾過後,就變成常量了。

extern:

extern可以置於變數或者函式前,以標示變數或者函式的定義在別的檔案中,提示編譯器遇到此變數和函式時在其他模組中尋找 其定義。此外extern也可用來進行鏈結指定。

static與const的作用

static關鍵字的作用 1 在類中的乙個成員變數是static時,該變數被所有該類的例項物件所共同擁有,它的改變對該類的例項物件是可見的,也就是說它不屬於某個特定的物件,而是屬於這個類 2 類中的靜態成員函式不屬於某個物件,而是屬於整個類,不接受this指標,只能訪問static成員變數。3 在乙...

c 面試之static與const的作用

1 在函式體內,靜態變數具有 記憶 功能,乙個被宣告為靜態的變數在這一函式被呼叫的過程中,其值維持不變 2 函式體外,模組內,它的作用範圍是有限制的 static全域性變數與普通的全域性變數的區別 static全域性變數只初始化一次,目的是防止在其他檔案中被引用。static 函式與普通函式的區別 ...

C C 中Static和Const的作用

尊重 一 const的作用 const是c語言的一種關鍵字,它所限定的變數是不允許被改變的,從而起到保護的作用!const關鍵字可以用於修飾變數,引數,返回值,甚至函式體。const可以提高程式的健壯性,減少程式出錯。一 const用於定義常量和修飾變數 當定義某個變數時,用const修飾,則該變數...