C語言const的修飾

2021-08-08 03:08:14 字數 952 閱讀 1788

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位於 號...