C 中的常量指標和指標常量

2021-10-16 13:13:18 字數 1216 閱讀 5293

導言:const在c++**中占有很重要的地位,它可以讓程式設計師告訴使用者及編譯器什麼變數是不用改變的,以及用const代替#define的定義,避免有時因預編譯器出現忽略#define定義而帶來的錯誤…

常量指標:

當const出現在*號的左邊,稱為常量指標;例:

int a =10;

int b =10;

//const修飾的是指標,指標指向可以改,指標指向的值不可以更改

const

int* p1 =

&a;

p1 =

&b;//正確

//*p1 = 100; 報錯

**特點:**不能對常量指標指向的物件的內容進行修改,可以修改常量指標的指向。

指標常量:

當const出現在*號的右邊,稱為指標常量;例:

//const修飾的是常量,指標指向不可以改,指標指向的值可以更改

int*

const p2 =

&a;//p2 = &b; //錯誤

*p2 =

100;

//正確

**特點:**不能對指標常量的指向進行修改,可以修改指標常量指向物件的內容。

當*左右兩邊均有const時:

//const既修飾指標又修飾常量

const

int*

const p3 =

&a;//p3 = &b; //錯誤

//*p3 = 100; //錯誤

**特點:**既不能夠修改指向又不能夠修改指向所對應的內容。

int

* ptr;

// 指向int的指標

const

int* ptr;

// 指向const int的指標,一般叫做常量指標

int*

const ptr;

// 指向int的指標常量。即指標的值是乙個常量。

const

int*

const ptr;

// 指向const int的指標常量

const

int*

*const ptr;

// 指向常量指標的指標常量

最後兩個有點繞人@_@…

C 指標常量 常量指標和常指標常量

1 指標常量 如果在定義指標變數時候,指標變數前用const修飾,被定義的指標變數就變成了乙個指標型別的常變數,指標型別的常變數簡稱為指標常量。格式如下 資料型別 const 指標變數 變數名 修飾符const與指標變數緊鄰,說明指標變數不允許修改,既然指標變數的值不能修改,所以一定要在定義的時候給...

c 指標常量 和 常量指標

指標常量 指向常量的位址,不允許改變指向位址,指向位置的變數值能被改變 p不可以變 const p 常量指標 指向常量的指標,指標指向的物件不能通過這個指標來修改,可是仍然可以通過原來的宣告修改,也就是說量指標可以被 賦值為變數的位址,之所以叫做常量指標,是限制了通過這個指標修改變數的值 cont ...

C 指標常量和常量指標

首先在c 目前我看到的型別宣告方式,該變數的型別都是由最後幾個字來確定,前面是定語,修飾詞。有其他不同的歡迎指出,共同學習 比如 指標陣列 是陣列,陣列裡存的是指標。陣列指標 是指標,指標指向陣列。所以指標常量 首先是常量,然後是乙個指標,即是該指標是乙個常量,指標的值即位址不會變。常量指標 首先是...