const用法是什麼?

coldplay.xixi
發布: 2020-06-20 11:38:58
原創
4153 人瀏覽過

const用法是什麼?

const用法是什麼?

const用法是:

1. const的普通用法

int const size; const int size;
登入後複製

這兩個語句都是把size宣告為一個整數,他的值不能被修改。

可以在宣告的時候對他進行初始化,

int const size =10;
登入後複製

錯誤用法:

const int size =10; char buffer[size];  
登入後複製

錯誤在於,size佔用某記憶體區塊,C編譯器不知道它在編譯的值。而且,C預設const是外部連線的,所以寫成const是可以的。

2.const用於指針

(1)

const int *p; int const *p; //含义是指向常量的指针,指针的常量值不可以修改
登入後複製

兩者相同,p是一個指向整形常亮的指針,可以修改指標的值,但不能修改指標所指向的值。

int b = 5; int c = 3; const int *p=&b; *p=6; //错误,不能通过指针修改所指向的值; p=&c; //正确,可以修改指针的值 
登入後複製

(2)

int * const p; //含义是常量指针,p的值不可以修改
登入後複製

p是一個指針,指針p是常數,它的值無法修改,但是可以修改p所指向的整數型的值。

int b = 5; int c = 3; int *const p = &b; *p = 6; //正确,可以修改指针所值向的值 p =&c; //错误,不可以修改指针的值 
登入後複製

(3)

const int * const p;
登入後複製

無論是指標本身或它所指向的值都是常數。

簡單的判斷的方法:

如果const在 * 的左側,則const用來修飾指標所指向的變量,即指標指向位元常數;

#如果const位於* 的右側,則const就是修飾指標本身,即指標本身就是常數。

3.const用於函數的形參

void foo(const int * p)
登入後複製

const用於形參時說明了形參在函數內部不會被改變。這種形式通常用於數組形式的參數中模擬傳值調用。這也是const最有用之處,限定函數的形參,這樣函數將不會修改實參指標所指向的資料。這裡要注意得的是,是函數不應該去修改而不是不能修改。

4.宣告常數的其他方法

C語言中可以用enum型別和#define巨集來定義常數

#define MAX_SIZE 10; int const max_size =10;
登入後複製

這裡使用# define比使用const變數更好。

只要允許使用字面值常數的地方都可以使用前者,例如宣告陣列的長度。

const變數只能用於允許使用變數的地方。 

推薦教學:《c影片教學

以上是const用法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!