一、指向const物件的指標
1、定義格式:const 型別 *指標名
const放在型別名的前面,它是用來限定物件的型別的,即物件的型別是(const 型別)。
2、由於物件是const型別,在定義的時候進行了初始化之後就不能被修改,所以通過指向const物件的指標修改物件的值是錯誤的。
3、把乙個const物件的位址賦給乙個普通的、非const物件的指標也是錯誤的。因為指向const物件的指標也具有const特性,即不能用指向const物件的指標修改其指向的值。
4、可以把非const物件的位址賦給指向const物件的指標。此時不能使用該指標修改其值,可以用其他方法修改其值。
5、指向const物件的指標一經定義就不能用其修改所指向物件的值。
二、const指標
1、定義格式:型別 *const 指標名
const放在指標名的前面限,它是用來限定指標的型別的,即指標值本身一經定義後不能被修改。
2、可以用指向物件的const指標修改物件的值。
三、指標和typedef
例子:typtdef string *pstring;
const pstring cstr;
請問cstr是什麼型別?
答:通過typedef定義了string *型別,也就是指向string物件的指標型別;第二句中不能把pstring當做文字擴充套件,如果當做文字擴充套件就是const string *cstr,也就是指向const string物件的指標。由於const修飾的是pstring型別,即是const的指標型別,所以cstr是指向string物件的const指標型別。
指標和const限定符
const int p 1,表示p指向乙個整型變數,並且該變數為const的。2,可以更改p的值,不可以更改它所指向物件的值。3,它可以指向非const型別的int變數 int const p 1,表示p指向乙個整型變數,該變數為非const的 2,不可以更改p的值,一旦初始化不可更改,單可以更改它...
指標和const限定符
1 指向const物件的指標 const double pi 3.14 double ptr error ptr is a plain pointer const double cptr ok cptr is a pointer to const 不能用void 指標儲存const物件的位址,而必須...
指標和const限定符搭配
指標和const搭配不同,對所操作的物件能進行的操作也不同,從組合上看,無非有三種組合 其中type可為int char等基本資料型別,也可為構造資料型別 1 const type ptr 我們稱此種組合叫指向const物件的指標 linux核心中有很多函式引數就是此種型別,比如 void memc...