欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡單總結C++中指針常量與常量指針的區(qū)別

 更新時間:2016年06月13日 17:06:24   作者:王路情  
這里我們來簡單總結C++中指針常量與常量指針的區(qū)別,包括如何聲明和使用常量指針以及指針常量,需要的朋友可以參考下

我們先回顧下,什么是指針?什么是常量?指針是一種特殊的變量,它里面存儲的內(nèi)容是內(nèi)存地址。常量是指其里面存儲的內(nèi)容不能發(fā)生改變的量。明白了這兩個概念后,我們現(xiàn)在正式進入指針常量與常量指針。

1.指針常量與常量指針的概念

指針常量就是指針本身是常量,換句話說,就是指針里面所存儲的內(nèi)容(內(nèi)存地址)是常量,不能改變。但是,內(nèi)存地址所對應的內(nèi)容是可以通過指針改變的。

常量指針就是指向常量的指針,換句話說,就是指針指向的是常量,它指向的內(nèi)容不能發(fā)生改變,不能通過指針來修改它指向的內(nèi)容。但是,指針自身不是常量,它自身的值可以改變,從而指向另一個常量。

2.指針常量與常量指針的聲明

指針常量的聲明:數(shù)據(jù)類型 * const 指針變量。

常量指針的聲明:數(shù)據(jù)類型 const * 指針變量 或者 const 數(shù)據(jù)類型 *指針變量。

常量指針常量的聲明:數(shù)據(jù)類型 const * const 指針變量 或者 const 數(shù)據(jù)類型 * const 指針變量。

3.指針常量與常量指針的使用

3.1 指針常量的例子

/*指針常量的例子*/ 
int a,b; 
int * const p; 
p = &a;//正確 
p = &b;//錯誤 
*p = 20;//正確 

指針常量聲明的時候必須賦初始值。使用指針常量可以增加代碼的可靠性和執(zhí)行效率。

3.2 常量指針的例子

/*常量指針的例子*/ 
int a,b; 
int const *p; 
p = &a;//正確 
p = &b;//正確 
 
*p = 20;//錯誤 

關于區(qū)分指針常量的一個小技巧:const后的內(nèi)容為不能修改的。例如指針常量 int * const p = &a;則表示指針p的內(nèi)容不能修改;常量指針int const *p = &a;則表示指針p所指向的內(nèi)容不能修改。

到此,什么是指針常量和常量指針,以及兩者的差異,應該清晰和明朗了。

相關文章

  • C語言實現(xiàn)BMP圖像的讀寫功能

    C語言實現(xiàn)BMP圖像的讀寫功能

    這篇文章主要介紹了C語言實現(xiàn)BMP圖像的讀寫功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • 基于C++的拼多多算法在線筆試題示例

    基于C++的拼多多算法在線筆試題示例

    這篇文章主要介紹了基于C++的拼多多算法在線筆試題,列舉了四個拼多多的算法筆試題,包括分治法、大數(shù)相乘、貪心算法以及迷宮問題,需要的朋友可以參考下
    2017-08-08
  • C++中vector容器使用詳細說明

    C++中vector容器使用詳細說明

    在c++中,vector是一個十分有用的容器,下面通過本文給大家介紹C++中vector容器使用詳細說明,需要的朋友可以參考下
    2016-10-10
  • C++深入探究引用的本質(zhì)與意義

    C++深入探究引用的本質(zhì)與意義

    引用是C++一個很重要的特性,顧名思義是某一個變量或對象的別名,對引用的操作與對其所綁定的變量或對象的操作完全等價,這篇文章主要給大家總結介紹了C++中引用的相關知識點,需要的朋友可以參考下
    2022-04-04
  • CFile與CStdioFile的文件讀寫使用方法詳解

    CFile與CStdioFile的文件讀寫使用方法詳解

    以下是對CFile與CStdioFile的文件讀寫使用方法進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-09-09
  • C++設計模式編程中簡單工廠與工廠方法模式的實例對比

    C++設計模式編程中簡單工廠與工廠方法模式的實例對比

    這篇文章主要介紹了C++設計模式編程中簡單工廠與工廠方法模式的實例對比,文中最后對兩種模式的優(yōu)缺點總結也比較詳細,需要的朋友可以參考下
    2016-03-03
  • Java?C++?算法題解leetcode669修剪二叉搜索樹示例

    Java?C++?算法題解leetcode669修剪二叉搜索樹示例

    這篇文章主要為大家介紹了Java?C++?算法題解leetcode669修剪二叉搜索樹示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • C++ new、delete(new[]、delete[])操作符重載需要注意的問題

    C++ new、delete(new[]、delete[])操作符重載需要注意的問題

    這篇文章主要介紹了C++ new、delete(new[]、delete[])操作符重載需要注意的問題,本文同時講解了兼容默認的 new、delete 的錯誤處理方式、多態(tài)的問題等內(nèi)容,需要的朋友可以參考下
    2014-10-10
  • C++線程池實現(xiàn)代碼

    C++線程池實現(xiàn)代碼

    C++11中,線程我們可以理解為對應一個thread對象,任務可以理解為要執(zhí)行的函數(shù),通常是耗時的函數(shù)。線程過多或者頻繁創(chuàng)建和銷毀線程會帶來調(diào)度開銷,進而影響緩存局部性和整體性能
    2021-12-12
  • C++課程設計之圖書館管理系統(tǒng)

    C++課程設計之圖書館管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C++課程設計之圖書館管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論