指標是一種特殊的變數,它裡面儲存的內容是記憶體位址。
常量是指其裡面儲存的內容不能發生改變的量。明白了這兩個概念後,我們現在正式進入指標常量與常量指標。
1.指標常量與常量指標的概念
指標常量就是指標本身是常量,換句話說,就是指標裡面所儲存的內容(記憶體位址)是常量,不能改變。但是,記憶體位址所指向的內容是可以通過指標改變的。
常量指標就是指向常量的指標,換句話說,就是指標指向的是常量,它指向的內容不能發生改變,不能通過指標來修改它指向的內容。但是,指標自身不是常量,它自身的值可以改變,從而指向另乙個常量。
2.指標常量與常量指標的宣告
指標常量的宣告:資料型別 * const 指標變數。
常量指標的宣告:資料型別 const * 指標變數 或者 const 資料型別 *指標變數。
常量指標常量的宣告:資料型別 const * const 指標變數 或者 const 資料型別 * const 指標變數。
3.指標常量與常量指標的使用
3.1 指標常量的例子 ?
1
2
3
4
5
6
/*指標常量的例子*/
int
a,b;
int
*
const
p;
p = &a;
//正確
p = &b;
//錯誤
*p = 20;
//正確
指標常量宣告的時候必須賦初始值。使用指標常量可以增加**的可靠性和執行效率。
3.2 常量指標的例子 ?
1
2
3
4
5
6
7
/*常量指標的例子*/
int
a,b;
int
const
*p; //或者const int *p
p = &a;
//正確
p = &b;
//正確
*p = 20;
//錯誤
關於區分指標常量的乙個小技巧:const後的內容為不能修改的。例如指標常量 int * const p = &a;則表示指標p的內容不能修改;常量指標int const *p = &a;則表示指標p所指向的內容(*p)不能修改。
C 中指向常量的指標與常量指標
const double pi 3.14 double ptr 錯誤,只能使用指向常量的指標指向常量 const double ptr 正確 ptr 3.33 錯誤,不可以賦值 指向常量的指標同樣也可以指向非常量 double x 11.11 非常量 const double ptrx x 正確,只...
C 中指標常量和常量指標的區別
在c 學習使用過程中,每個人都不可避免地使用指標,而且都或多或少的接觸過常量指標或指標常量,但是對這兩個的概念還是很容易搞糊塗的。本文即是簡單描述指標常量和常量指標的區別。常量指標 定義 又叫常指標,可以理解為常量的指標,也即這個是指標,但指向的是個常量,這個常量是指標的值 位址 而不是位址指向的值...
C 中指標常量和常量指標的區別
在c 學習使用過程中,每個人都不可避免地使用指標,而且都或多或少的接觸過常量指標或指標常量,但是對這兩個的概念還是很容易搞糊塗的。本文即是簡單描述指標常量和常量指標的區別。常量指標 定義 又叫常指標,可以理解為常量的指標,也即這個是指標,但指向的是個常量,這個常量是指標的值 位址 而不是位址指向的值...