指標和常量
使用一個指標涉及到兩個物件:該指標本身和被它所指的物件。將一個指標的宣告用const “預先固定” 將使那個物件而不是使這個指標成為常量。要將指標本身而不是被指物件宣告為常量,我們必須使用宣告運算子*const, 而不是隻用簡單的const。 例如,
void f1(char* p)
{
char s[] = "Gorm";
const char* pc = s; //指向常量,即指標本身是可以改變的。
pc[3] = 'g'; //錯誤:pc是指向常量的
pc = p; //OK
char *const cp = s; //常量指標,即指標不能改變了,但指向的內容可以改變。
cp[3] = 'a'; //OK
cp = p; //錯誤:cp是常量指標
const char *const cpc = s; //到const的const指標
cpc[3] = 'a'; //cpc指向常量
cpc = p; //cpc本身是常量
}
相關文章
- 指標常量和常量指標指標
- 詳解 常量指標和指標常量指標
- 指向常量資料的指標和常量指標指標
- 指標常量和常量指標的區別指標
- 再學C/C++ 之 指標常量 和 常量指標C++指標
- c指標之字串常量指標字串
- 關於指標傳遞和指標的指標指標
- 陣列指標和指標陣列陣列指標
- C語言指標(三):陣列指標和字串指標C語言指標陣列字串
- 常量引用或指向常量的指標,其所指物件可以是非const物件(C++)指標物件C++
- 陣列和指標陣列指標
- 指標和陣列指標陣列
- 1.0 - 指標和引用指標
- 指向const物件的指標 和 const指標物件指標
- NULL 指標、零指標、野指標Null指標
- 指向指標的常量引用瞭解指標
- 字串指標與字元陣列的區別--字串常量的值不能改字串指標字元陣列
- C++引用和指標C++指標
- 指標和連結串列指標
- nim的引用和指標指標
- 《指標和引用小結》指標
- 細說引用和指標指標
- GO 空指標和nilGo指標
- 詳解c++指標的指標和指標的引用C++指標
- 如何正確理解「指標」和「標籤」指標
- 指標和標籤的基礎理解指標
- 指標陣列和陣列指標與二維陣列指標陣列
- 野指標 空指標指標
- Golang 學習——陣列指標和指標陣列的區別Golang陣列指標
- 指標運算子過載(* 和 ->)指標
- golang拾遺:指標和介面Golang指標
- const 變數和指標變數指標
- Swift中的值和指標Swift指標
- [C++]指標和引用(一)C++指標
- [C++]指標和引用(二)C++指標
- [C++]指標和引用(三)C++指標
- [C++]指標和引用(四)C++指標
- 07 引用 指標 和傳遞指標