1.修飾變數
用const宣告乙個變數,其值是不可改變的,例如:
const int dat;
dat = 1; //這是錯誤的,dat的值不可改變
對const變數只能在初始化的時候賦值,並且一旦賦值後其值不可改變,正確初始化const變數如下:
const int dat = 1;
2.修飾指標
對於用const宣告指標,其一共有三種情況,具體如下:
(1)const int * dat;/int const * dat;
dat指向乙個常量整型數值,在這裡dat可以改變(即位址值可以改變),但dat指向的值時不可改變的。
(2)int * const dat
dat是乙個常量指標,dat不可改變(即位址不可改變),但dat所指向的值時可以變的。
(3)const int * const dat;
這裡不管是位址還是dat指向的值都不可改變。
3.修飾陣列
假設const修飾的陣列為:
const int dat[ ];
其實這裡的const int dat[ ]可以等同於const int * dat,所以可以按照上面修飾指標的第一種情況來理解。
4.修飾函式形參
假設乙個函式如下:
void function(const int dat);/void function(const int dat[ ]);
在這裡其實根據前面可以理解,該形參dat的值或者陣列dat[ ]裡的值是不可改變的。
5.修飾結構體變數
假設結構體為
struct dat ;
那麼對於以下const修飾的結構體變數:
const struct dat a;
在這裡,對於a而言不能夠在初始化以後再賦值,例如下面這個賦值是錯誤的
a.old = 23; //這裡是錯誤的
C語言 const修飾指標解析
這種例子在我們平時程式設計時可能會很少用,但是在面試時被問的可能性就很大了。用const修飾指標,常見的情況可以分為四種 1.const int p p 可變,p 指向的物件不可變 2.int const p p 可變,p 指向的物件不可變 3.int const p p 不可變,p 指向的物件可變...
C語言修飾詞之const
const是乙個c語言的關鍵字,它限定乙個變數不允許被改變。使用const在一定程度上可以提高程式的安全性和可靠性,另外,在 別人 的時候,清晰理解const所起的作用,對理解對方的程式也有一些幫助。另外const在其他程式語言中也有出現,如c php5 c net hc08 c。c中const的使...
C語言裡的const和指標修飾關係
經常看到很多系統函式裡面有const常量修飾的形參,很多都是指標型別的,const用在表示把乙個變數的值確定後不允許更改的場合。const和指標的關係相比其他的型別的變數要 多一點,以int 型別為例子 第一種 沒有const修飾的指標變數 int p void main 第二種 const位於 號...