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

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

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

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

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

常指針的定義方法:

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

const 類(lèi)型名  * 常指針名;

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

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

運(yùn)行結(jié)果:


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

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

就會(huì)報(bào)錯(cuò):

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

程序1.2.1

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

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


運(yùn)行結(jié)果:

如果我們使用常指針來(lái)修改一般變量的值:

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

*p=10;

就會(huì)報(bào)錯(cuò):

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

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

定義方法:

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

類(lèi)型名 * const 指針常量名=變量地址;

因?yàn)橹羔樖浅W兞克运诙x的時(shí)候就應(yīng)該賦初值。

一個(gè)程序示例:

程序2.1

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

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

運(yùn)行結(jié)果:

相關(guān)文章

  • C語(yǔ)言中字符串常用函數(shù)strcat與strcpy的用法介紹

    C語(yǔ)言中字符串常用函數(shù)strcat與strcpy的用法介紹

    以下是對(duì)C語(yǔ)言中字符串常用函數(shù)strcat與strcpy的使用方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下
    2013-07-07
  • C語(yǔ)言結(jié)構(gòu)體的全方面解讀

    C語(yǔ)言結(jié)構(gòu)體的全方面解讀

    C 數(shù)組允許定義可存儲(chǔ)相同類(lèi)型數(shù)據(jù)項(xiàng)的變量,結(jié)構(gòu)是 C 編程中另一種用戶自定義的可用的數(shù)據(jù)類(lèi)型,它允許你存儲(chǔ)不同類(lèi)型的數(shù)據(jù)項(xiàng)
    2021-10-10
  • C++中this指針的理解與作用詳解

    C++中this指針的理解與作用詳解

    這篇文章主要給大家介紹了關(guān)于C++中this指針的理解與作用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • C語(yǔ)言實(shí)現(xiàn)QQ窗口抖動(dòng)功能

    C語(yǔ)言實(shí)現(xiàn)QQ窗口抖動(dòng)功能

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)QQ窗口抖動(dòng)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • C++如何實(shí)現(xiàn)廣義表詳解

    C++如何實(shí)現(xiàn)廣義表詳解

    廣義表是非線性結(jié)構(gòu),其定義是遞歸的。那么下面跟著小編一起看看如何用C++實(shí)現(xiàn)廣義表,有需要的可以參考借鑒。
    2016-08-08
  • 淺談C++內(nèi)存分配及變長(zhǎng)數(shù)組的動(dòng)態(tài)分配

    淺談C++內(nèi)存分配及變長(zhǎng)數(shù)組的動(dòng)態(tài)分配

    下面小編就為大家?guī)?lái)一篇淺談C++內(nèi)存分配及變長(zhǎng)數(shù)組的動(dòng)態(tài)分配。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-09-09
  • c語(yǔ)言合并兩個(gè)已排序數(shù)組的示例(c語(yǔ)言數(shù)組排序)

    c語(yǔ)言合并兩個(gè)已排序數(shù)組的示例(c語(yǔ)言數(shù)組排序)

    如何將兩個(gè)已排序數(shù)組合并成一個(gè)排序數(shù)組,下面我們給出使用c語(yǔ)言合并兩個(gè)已排序數(shù)組的示例,需要的朋友可以參考下
    2014-03-03
  • VS及Unity安裝和使用Nuget包

    VS及Unity安裝和使用Nuget包

    本文主要介紹了VS及Unity安裝和使用Nuget包,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Qt自定義控件實(shí)現(xiàn)進(jìn)度儀表盤(pán)

    Qt自定義控件實(shí)現(xiàn)進(jìn)度儀表盤(pán)

    這篇文章主要介紹了Qt自定義控件實(shí)現(xiàn)進(jìn)度儀表盤(pán),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • C語(yǔ)言中qsort函數(shù)用法實(shí)例小結(jié)

    C語(yǔ)言中qsort函數(shù)用法實(shí)例小結(jié)

    這篇文章主要介紹了C語(yǔ)言中qsort函數(shù)用法,包括了針對(duì)各種數(shù)據(jù)類(lèi)型參數(shù)的排序,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-09-09

最新評(píng)論