這篇文章運(yùn)用簡單易懂的例子給大家介紹c語言中const的使用方法,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
在平頂山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需制作網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),營銷型網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè)公司,平頂山網(wǎng)站建設(shè)費(fèi)用合理。
const用法是:
1. const的普通用法
int const size; const int size;
這兩條語句都是把size聲明為一個(gè)整數(shù),他的值不能被修改。
可以在聲明的時(shí)候?qū)λM(jìn)行初始化,
int const size =10;
錯(cuò)誤用法:
const int size =10; char buffer[size];
錯(cuò)誤在于,size占用某內(nèi)存塊,C編譯器不知道它在編譯的值。并且,C默認(rèn)const是外部連接的,所以寫成const是可以的。
2.const用于指針
(1)
const int *p; int const *p; //含義是指向常量的指針,指針的常量值不可以修改
兩者相同,p是一個(gè)指向整形常亮的指針,可以修改指針的值,但不能修改指針?biāo)赶虻闹怠?/p>
int b = 5; int c = 3; const int *p=&b; *p=6; //錯(cuò)誤,不能通過指針修改所指向的值; p=&c; //正確,可以修改指針的值
(2)
int * const p; //含義是常量指針,p的值不可以修改
p是一個(gè)指針,指針p是常量,它的值無法修改,但是可以修改p所指向的整型的值。
int b = 5; int c = 3; int *const p = &b; *p = 6; //正確,可以修改指針?biāo)迪虻闹? p =&c; //錯(cuò)誤,不可以修改指針的值
(3)
const int * const p;
無論是指針本身還是它所指向的值都是常量。
簡單的判斷的方法:
如果const在 * 的左側(cè),則const用來修飾指針?biāo)赶虻淖兞?,即指針指向位常量?/p>
如果const位于 * 的右側(cè),則const就是修飾指針本身,即指針本身就是常量。
3.const用于函數(shù)的形參
void foo(const int * p)
const用于形參時(shí)說明了形參在函數(shù)內(nèi)部不會被改變。這種形式通常用于數(shù)組形式的參數(shù)中模擬傳值調(diào)用。這也是const最有用之處,限定函數(shù)的形參,這樣該函數(shù)將不會修改實(shí)參指針?biāo)赶虻臄?shù)據(jù)。這里需要注意得的是,是函數(shù)不應(yīng)該去修改而不是不能修改。
4.聲明常量的其他方法
C語言中可以用enum類型和#define宏來定義常量
#define MAX_SIZE 10; int const max_size =10;
此處使用#define比使用const變量更好。
只要允許使用字面值常量的地方都可以使用前者,比如聲明數(shù)組的長度。
const變量只能用于允許使用變量的地方?!?/p>
關(guān)于c語言中const的使用方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。