關於const與指標

2021-07-10 15:09:39 字數 915 閱讀 9774

定義常量指標時必須同時初始化它,以後不能更改它:

int var;

int * const c_ptr = &var; //指向int的常量指標

*c_ptr = 123; //true:沒有修改指向的物件,但可以修改指向的物件的值

++c_ptr; //false:不能修改常量指標本身

指向常量(const)物件的指標:

int var;

const

int c_var = 100; //常量int物件

const

int * ptr_to_const; //指向const int物件的指標,此時是指標本身不是常量

ptr_to_const = &c_var; //true

var = 2 * *ptr_to_const; //true

ptr_to_const = &var; //true

if(c_var < *ptr_to_const)

可以將指向非常量的指標隱式轉換為指向常量的指標:

int *ptr = &var;

ptr_to_const = ptr;

但無法隱式地將指向常量的指標轉換為指向非常量的指標:

ptr = &c_var; //false

ptr = (int *)&c_var; //true

以上內容來自《c in a nutshell》

總結:const在*左側則為指向某常量物件的指標,const在*右側則為指向某物件的常量指標

關於const 指標

第一種const指標 const double pc 0 這種型別的定義表示pc指標指向的記憶體的內容不可通過pc來修改 const 變數的位址只能賦給const指標 const double pc 0 const double minwage 9.60 pc minwage 但是const指標也可...

const與指標,const與函式

const與指標 常量指標 指向常量的指標 int b 500 1 const int a b 2 int const a b 以上中 a不允許改變,指標a可變 指標常量 指標本身是常量 3 int const a b 指標a不允許改變,a可改變 常量指標常量 4 const int const a...

const 指標與指向const的指標

當使用帶有const的指標時其實有兩種意思。一種指的是你不能修改指標本身的內容,另一種指的是你不能修改指標指向的內容。聽起來有點混淆一會放個例子上來就明白了。先說指向const的指標,它的意思是指標指向的內容是不能被修改的。它有兩種寫法。const int p 推薦 int const p 第一種可...