|
C語言中我們可以使用const和define關(guān)鍵字聲明常量,所謂常量就是指值不能修改的量。如下面的例子所示: const int a; 這兩條語句都把a(bǔ)聲明為一個(gè)常量(整數(shù)),它的值不能被修改。 由于常量的值無法被修改,所以不能用任何其他東賦值給它,如此一來,怎樣使它在一開始就擁有一個(gè)值呢?有兩種方法: 法1:在聲明時(shí)對(duì)其進(jìn)行初始化,如下所示: 法2:在函數(shù)中聲明為const的形參在函數(shù)被調(diào)用時(shí)會(huì)得到實(shí)參的值。 當(dāng)涉及指針變量時(shí),情況變得更加有趣,因?yàn)橛袃蓸訓(xùn)|西都有可能成為常量——指針變量和它所指向的實(shí)體(即指針?biāo)赶虻膬?nèi)存地址所存儲(chǔ)的值)。下面幾個(gè)聲明的例子: pi是一個(gè)普通的指向整形的指針。而變量 則是一個(gè)指向整型常量的指針。你可以修改指針的值,但你不能修改它所指向的值。相比之下: 則聲明pci為一個(gè)指向整型的常量指針。此時(shí)指針是常量,它的值無法修改,但你可以修改它所指向的整型的值。 最后,在cpci這個(gè)例子里,無論是指針本身還是它所指向的值都是常量,不允許修改。 提示: 當(dāng)你聲明變量時(shí),如果變量的值不會(huì)被修改,你應(yīng)該在聲明中使用const關(guān)鍵字。這種做法不僅使你的意圖在其他閱讀你的程序的人面前得到清晰的展現(xiàn),而且這個(gè)值被意外修改時(shí),編譯器能夠發(fā)現(xiàn)這個(gè)問題。 |
|
|