const在C語言中的用法

2021-09-17 00:24:53 字數 877 閱讀 7559

在c語言中,const修飾的變數具有常屬性,不可以修改它的值。

例如:

const int num=10;

int const num=10;

//變數num的值不可以被改變

但是它又和變數有一些區別,例如:

#define  line  10

const int num=10;

雖然它們的值都是10,而且都不能改變,但是用在陣列中就不一樣了。例如:

int arr[line]

//line是常量,可以使用

int arr[num]

//num是const修飾的具有常屬性的變數,這裡不能用在陣列裡

★我們定義陣列長度的時候可以自定義,這樣可以提高程式的維護性。當我們想改變陣列的長度的時候,直接改一下宣告就好了,不用再乙個乙個的改變量的值。

當然,const也可以修飾指標

const int *p;<=>int const *p;

//這條語句說明p是乙個指向常量的指標,const修飾的是p所指向的內容,所以不能修改它指向的值,但是我們可以修改變數p的值

int *const p ;

//這條語句說明p是乙個指向整形常量指標,變數p不可以修改,但是p所指向的內容可以修改

const int *const p;

//這個語句說明p和排所指向的值都被const修飾,所以這個表示式不能做任何修改

const也可以修飾函式的形式引數,保護形參不被修改。例如:

int  ff(const int x)

const在C語言中的用法

const作用 防止定義的變數被修改 1 用於修飾變數 const int a 10 合法 int const b 10 合法,等價const int 10 const int c 非法 int const d 非法 注意 必須有初始值 2 用於修飾指標 const修飾的 sp,所以sp指標指向的位...

C語言中const的用法

1 const的普通用法 const int n 10 意思很明顯,n是乙個唯讀變數,程式不可以直接修改其值。這裡還有乙個問題需要注意,即如下使用 int a n 在ansi c中,這種寫法是錯誤的,因為陣列的大小應該是個常量,而n只是乙個變數。2 const用於指標 const int p int...

C語言中const的用法

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