簡略總結C++中指針常量與常量指針的差別。本站提示廣大學習愛好者:(簡略總結C++中指針常量與常量指針的差別)文章只能為提供參考,不一定能成為您想要的結果。以下是簡略總結C++中指針常量與常量指針的差別正文
我們先回想下,甚麼是指針?甚麼是常量?指針是一種特別的變量,它外面存儲的內容是內存地址。常量是指其外面存儲的內容不克不及產生轉變的量。明確了這兩個概念後,我們如今正式進入指針常量與常量指針。
1.指針常量與常量指針的概念
指針常量就是指針自己是常量,換句話說,就是指針外面所存儲的內容(內存地址)是常量,不克不及轉變。然則,內存地址所對應的內容是可以經由過程指針轉變的。
常量指針就是指向常量的指針,換句話說,就是指針指向的是常量,它指向的內容不克不及產生轉變,不克不及經由過程指針來修正它指向的內容。然則,指針本身不是常量,它本身的值可以轉變,從而指向另外一個常量。
2.指針常量與常量指針的聲明
指針常量的聲明:數據類型 * const 指針變量。
常量指針的聲明:數據類型 const * 指針變量 或許 const 數據類型 *指針變量。
常量指針常量的聲明:數據類型 const * const 指針變量 或許 const 數據類型 * const 指針變量。
3.指針常量與常量指針的應用
3.1 指針常量的例子
/*指針常量的例子*/ int a,b; int * const p; p = &a;//准確 p = &b;//毛病 *p = 20;//准確
指針常量聲明的時刻必需賦初始值。應用指針常量可以增長代碼的靠得住性和履行效力。
3.2 常量指針的例子
/*常量指針的例子*/ int a,b; int const *p; p = &a;//准確 p = &b;//准確 *p = 20;//毛病
關於辨別指針常量的一個小技能:const後的內容為不克不及修正的。例如指針常量 int * const p = &a;則表現指針p的內容不克不及修正;常量指針int const *p = &a;則表現指針p所指向的內容不克不及修正。
到此,甚麼是指針常量和常量指針,和二者的差別,應當清楚和晴明了。