C語言中關於const關鍵字的應用總結

2021-10-16 13:19:26 字數 1153 閱讀 6454

我們經常會用到const關鍵字,const關鍵字是constant的縮寫,英文翻譯的意思是常量、常數等。一般都用來修飾這些值:

1、 修飾變數:

const修飾變數,功能是對變數宣告為唯讀特性,並保護變數值以防被修改。舉例說明如下:

const int i = 3;

因為變數i具有唯讀特性,不能夠被更改;所以如果想對i重新賦值,如重新賦值i = 10;那麼就會報錯。

值得注意的是,定義變數的同時,必須初始化。定義形式也可以寫成int const i=5,同樣正確。

const修飾變數還起到了節約記憶體空間的目的,通常編譯器並不給普通const唯讀變數分配空間,而是將它們儲存到符號表中,無需讀寫記憶體操作,程式執行效率也會提高。

2、 修飾陣列

如:const int array[5] = ;

array[0] = array[0]+1; //錯誤

陣列元素與變數差不多,具有唯讀屬性,不能被更改;一旦更改,程式將會報錯。

3、 修飾指標

共有兩種形式,一種是用來限定指向空間的值不能修改;另一種是限定指標不可更改。舉例說明如下:

int i = 5;

int j = 6;

int k = 7;

const int * p1 = &i; //定義1

int * const p2 =&j; //定義2

上面定義了兩個指標p1和p2。

在定義1中const限定的是*p1,即其指向空間的值不可改變,若改變其指向空間的值如*p1=20,則程式會報錯;但p1的值是可以改變的,對p1重新賦值如p1=&k是沒有任何問題的。

在定義2中const限定的是指標p2,若改變p2的值如p2=&k,程式將會報錯;但*p2,即其所指向空間的值可以改變,如*p2=80是沒有問題的,程式正常執行。

4、 修飾函式引數

const關鍵字修飾函式引數,對引數起限定作用,防止其在函式內部被修改。所限定的函式引數可以是普通變數,也可以是指標變數。舉例如下:

void fun1(const int i)

其它語句

i++; //對i的值進行了修改,程式報錯

其它語句

void fun2(const int *p)

其它語句

(*p)++; //對p指向空間的值進行了修改,程式報錯

其它語句

C語言中const關鍵字

c語言中const關鍵字是constant的縮寫,翻譯為常量,常數的意思,主要作用如下 c語言中使用const修飾變數,主要是對變數宣告為唯讀特性,並保護變數以防止被修改。例如 const i 5 變數i只具有唯讀特性,不能夠被更改,若想重新對i進行賦值,如i 10 是不可行的。c語言中const還...

c語言中const 關鍵字的理解

對於非指標變數的修飾,const可以放在型別的前面,也可以放在型別的後面,例如 int const myint 或者 const int myint 他們所表達的意思是一樣的,都是表示myint 是常量,不能再修改myint的值 對於指標變數的宣告,四種情況,以int為例 1.const int m...

C語言中const關鍵字的用法

關鍵字const用來定義常量,如果乙個變數被const修飾,那麼它的值就不能再被改變,我想一定有人有這樣的疑問,c語言中不是有 define嗎,幹嘛還要用const呢,我想事物的存在一定有它自己的道理,所以說const的存在一定有它的合理性,與預編譯指令相比,const修飾符有以下的優點 1 預編譯...