最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

指向變量的常指針與指向常變量的指針詳細(xì)解析

 更新時間:2013年10月14日 10:33:46   作者:  
剛接觸到指針時,關(guān)于指向變量的常指針和指向常變量的指針容易混淆,所以整理下,希望能夠幫助自己也幫助到大家

常(量)指針
常指針就是我們說的指向常量的指針,顧名思義,它是用來指向常量的。

用常指針指向常變量
實際上,C++規(guī)定只能用指向常變量的指針指向常變量,普通指針指向它就會報錯,原因也很容易理解,我們用普通指針指向常變量之后,有可能就會進行改變常變量數(shù)值的操作,這樣做是不被允許的。

常指針的定義方法:

復(fù)制代碼 代碼如下:

const 類型名  * 常指針名;

下面是它的一個簡單的使用示例:
程序1.1.1
復(fù)制代碼 代碼如下:

#include<iostream>
using namespace std;
int main()
{
 const int i=5;//定義一個int型常變量
 const int *p;//定義一個int型常指針
 p=&i;//用常指針指向常變量
 cout<<*p<<endl;
 return 0;
}

運行結(jié)果:


如果我們使用普通指針變量來指向常變量:
程序1.1.2
復(fù)制代碼 代碼如下:

#include<iostream>
using namespace std;
int main()
{
 const int i=5;//定義一個常變量
 int *p;//定義了一個int型指針
 p=&i;//使用一般的指針指向常變量
 cout<<*p<<endl;
 return 0;
}

就會報錯:

用常指針指向一般變量(非const型變量)
用常指針也是可以指向一般變量的,不過不可以通過常指針來更改一般變量的值,但是可以通過一般變量的變量名來修改變量的值。
下面看一個示例:

程序1.2.1

復(fù)制代碼 代碼如下:

#include<iostream>
using namespace std;
int main()
{
 int i=5;//定義一個一般變量
 const int *p;//定義了一個常指針
 p=&i;//使用常指針指向一般變量
 cout<<*p<<endl;
 i=10;//通過一般變量的變量名來修改值
 cout<<*p<<endl;
 return 0;
}


運行結(jié)果:

如果我們使用常指針來修改一般變量的值:

復(fù)制代碼 代碼如下:

*p=10;

就會報錯:

小結(jié):常指針可以指向常變量和一般變量,但是都不能通過指針改變它指向的變量的值。

指針常量
指針常量是指的指針本身就是一個常變量,一經(jīng)賦初值就不可以被更改。
上面已經(jīng)說過,只有常指針才可以指向常變量,所以指針常量只可以指向一般變量,而且一旦賦給了初值,就不可以再更改。

定義方法:

復(fù)制代碼 代碼如下:

類型名 * const 指針常量名=變量地址;

因為指針是常變量所以它在定義的時候就應(yīng)該賦初值。

一個程序示例:

程序2.1

復(fù)制代碼 代碼如下:

#include<iostream>
using namespace std;
int main()
{
 int i=5;//定義一個一般變量
 int * const p=&i;//定義了一個指針常量
 cout<<*p<<endl;
 *p=30;//通過指針來改變指向的變量的值
 cout<<*p<<endl;
 return 0;
}

運行結(jié)果:

相關(guān)文章

  • C++使用宏函數(shù)實現(xiàn)單例模板詳解

    C++使用宏函數(shù)實現(xiàn)單例模板詳解

    在我們?nèi)粘i_發(fā)中,無可避免需要使用單例模式進行設(shè)計類對象。這篇文章主要介紹了如何使用宏函數(shù)實現(xiàn)單例模板,感興趣的小伙伴可以了解一下
    2023-02-02
  • C語言詳細(xì)分析常見字符串函數(shù)與模擬實現(xiàn)

    C語言詳細(xì)分析常見字符串函數(shù)與模擬實現(xiàn)

    字符串函數(shù)(String?processing?function)也叫字符串處理函數(shù),指的是編程語言中用來進行字符串處理的函數(shù),如C,pascal,Visual以及LotusScript中進行字符串拷貝,計算長度,字符查找等的函數(shù)
    2022-03-03
  • 淺析C++構(gòu)造函數(shù)虛擬化

    淺析C++構(gòu)造函數(shù)虛擬化

    這篇文章主要介紹了C++構(gòu)造函數(shù)虛擬化的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí)c++構(gòu)造函數(shù),感興趣的朋友可以了解下
    2020-08-08
  • C語言數(shù)組的各種操作梳理

    C語言數(shù)組的各種操作梳理

    數(shù)組是一組有序的數(shù)據(jù)的集合,數(shù)組中元素類型相同,由數(shù)組名和下標(biāo)唯一地確定,數(shù)組中數(shù)據(jù)不僅數(shù)據(jù)類型相同,而且在計算機內(nèi)存里連續(xù)存放,地址編號最低的存儲單元存放數(shù)組的起始元素,地址編號最高的存儲單元存放數(shù)組的最后一個元素
    2022-04-04
  • 最新評論

    北安市| 孝义市| 班玛县| 得荣县| 台南县| 呼图壁县| 长垣县| 华宁县| 大连市| 麦盖提县| 黄大仙区| 元江| 垦利县| 揭西县| 建湖县| 佛教| 蒙山县| 高阳县| 通渭县| 齐河县| 台南市| 万安县| 喀喇| 长丰县| 资源县| 普定县| 景泰县| 临颍县| 贵定县| 五台县| 永昌县| 呈贡县| 探索| 宁津县| 化德县| 黔南| 石林| 崇信县| 邓州市| 新河县| 潞城市|