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