亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > C++ > 正文

詳解C++中的指針、數(shù)組指針與函數(shù)指針

2020-05-23 14:17:11
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文從初學(xué)者的角度,深入淺出地講解C++中的指針、數(shù)組指針與函數(shù)指針,對(duì)最?;煜囊脗鬟f、值傳遞和指針傳遞做了區(qū)處,需要的朋友可以參考下

C++中一個(gè)重要的特性就是指針,指針不僅具有獲得地址的能力,還具有操作地址的能力。指針可以用于數(shù)組、或作為函數(shù)的參數(shù),用來(lái)訪問內(nèi)存和對(duì)內(nèi)存的操作,指針的使用使得C++很高效,但是指針也非常危險(xiǎn),使用不當(dāng)會(huì)帶來(lái)比較嚴(yán)重的問題。

1、指針

程序中所有的變量和常量都存在一個(gè)內(nèi)存地址中,當(dāng)然,函數(shù)也有對(duì)應(yīng)的內(nèi)存地址,內(nèi)存地址的不同會(huì)導(dǎo)致程序執(zhí)行時(shí)有所不同。

指針就是用來(lái)控制和存儲(chǔ)內(nèi)存地址的變量,它指向單個(gè)對(duì)象的地址,除了void之外,指針的數(shù)據(jù)類型與所指向地址的變量數(shù)據(jù)類型保持一致。

2、如何定義指針、數(shù)組指針、函數(shù)指針

常見的指針定義有3種:變量指針、數(shù)組指針和函數(shù)指針的定義。

(1)、變量指針的定義

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

int* p=0; //定義指針p,并初始化指針為0,即指向的地址為0000 0000

int a=0; //定義初始化常量a

int* p; //定義指針p

p=&a; //指針p指向a的地址,即指針獲取地址

(2)、數(shù)組指針的定義

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

int a[]={0,1,2,3,4,5,6,7,8,9}; //定義數(shù)組

int* p=a; //定義并賦值數(shù)組指針,即獲得數(shù)組的首地址

(3)、函數(shù)指針的定義

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

int f(); //定義函數(shù)

int (*p)(); //定義函數(shù)指針

p=f; //賦值函數(shù)指針,即獲得函數(shù)代碼的首地址

區(qū)別變量指針、數(shù)組指針和函數(shù)指針的定義,示例代碼如下。

 

 
  1. #include<iostream>  
  2. using namespace std;  
  3.  
  4. int f() //定義一個(gè)函數(shù)  
  5. {  
  6. cout<<"測(cè)試函數(shù)指針的使用"<<endl<<endl;  
  7. return 0;  
  8. }  
  9.  
  10. void main()  
  11. {  
  12. cout<<"==========變量指針的使用=========="<<endl;  
  13. int a=5;  
  14. int* p=0; //初始化指針為0  
  15. int* q; //定義指針  
  16. q=&a; //賦值指針  
  17. cout<<"a = "<<a<<endl; //變量a的值  
  18. cout<<"a = "<<*q<<endl; //變量a的值  
  19. cout<<"p = "<<p<<endl; //指針p的地址為0000 0000  
  20. cout<<"&a = "<<&a<<endl; //獲取a的地址  
  21. cout<<"&a = "<<q<<endl; //獲取a的地址  
  22.  
  23. cout<<"==========數(shù)組指針的使用=========="<<endl;  
  24. int b[]={0,1,2,3,4,5,6,7,8,9};  
  25. int* pb=b; //直接指向第一個(gè)元素的地址  
  26. cout<<pb<<endl //第1個(gè)元素的地址,即數(shù)組的首地址  
  27. <<b<<endl //第1個(gè)元素的地址,即數(shù)組的首地址  
  28. <<*pb<<endl //第1個(gè)元素的值  
  29. <<(*pb+2)<<endl; //第3個(gè)元素的值  
  30.  
  31. cout<<"==========函數(shù)指針的使用=========="<<endl;  
  32. int f(); //定義函數(shù)  
  33. int (*pf)(); //定義函數(shù)指針  
  34. pf=f; //賦值函數(shù)指針,即將函數(shù)的首地址賦值給指針pf  
  35. (*pf)(); //通過函數(shù)指針調(diào)用函數(shù)  

結(jié)果如下圖:

詳解C++中的指針、數(shù)組指針與函數(shù)指針

3、數(shù)組指針與指針數(shù)組

數(shù)組指針是一個(gè)指針變量,它指向一個(gè)數(shù)組,即指向一個(gè)數(shù)組的指針就是數(shù)組指針;而指針數(shù)組是一個(gè)只包含指針元素的數(shù)組,它的元素可以指向相同類型的不同對(duì)象。

4、函數(shù)指針與指針函數(shù)

函數(shù)指針就是指向函數(shù)的存儲(chǔ)空間地址的指針,可以對(duì)函數(shù)指針進(jìn)行賦值并且通過函數(shù)指針來(lái)調(diào)用函數(shù),它的本質(zhì)是一個(gè)指針。而指針函數(shù)只是說(shuō)明它是一個(gè)返回值為指針的函數(shù),其本質(zhì)是一個(gè)函數(shù)。

5、引用傳遞、值傳遞和指針傳遞

C++語(yǔ)言中,函數(shù)的參數(shù)和返回值的傳遞方式有3種:即值傳遞、引用傳遞和指針傳遞。

(1)、值傳遞

形參是實(shí)參的拷貝,改變形參的值并不會(huì)影響外部實(shí)參的值。從被調(diào)用函數(shù)的角度來(lái)說(shuō),值傳遞是單向的(實(shí)參->形參),參數(shù)的值只能傳入,不能傳出。當(dāng)函數(shù)內(nèi)部需要修改參數(shù),并且不希望這個(gè)改變影響調(diào)用者時(shí),采用值傳遞。

(2)、指針傳遞

形參為指向?qū)崊⒌刂返闹羔槪?dāng)對(duì)形參的指向操作時(shí),就相當(dāng)于對(duì)實(shí)參本身進(jìn)行的操作。

(3)、引用傳遞

形參相當(dāng)于是實(shí)參的“別名”,對(duì)形參的操作其實(shí)就是對(duì)實(shí)參的操作,在引用傳遞過程中,被調(diào)函數(shù)的形式參數(shù)雖然也作為局部變量在棧中開辟了內(nèi)存空間,但是這時(shí)存放的是由主調(diào)函數(shù)放進(jìn)來(lái)的實(shí)參變量的地址。被調(diào)函數(shù)對(duì)形參的任何操作都被處理成間接尋址,即通過棧中存放的地址訪問主調(diào)函數(shù)中的實(shí)參變量。正因?yàn)槿绱?,被調(diào)函數(shù)對(duì)形參做的任何操作都影響了主調(diào)函數(shù)中的實(shí)參變量。

總結(jié)一下指針和引用的相同點(diǎn)和不同點(diǎn)

最后,:

相同點(diǎn):

都是地址的概念,指針指向一塊內(nèi)存,它的內(nèi)容是所指內(nèi)存的地址;而引用則是某塊內(nèi)存的別名。

不同點(diǎn):

指針是一個(gè)實(shí)體,而引用僅是個(gè)別名;

引用只能在定義時(shí)被初始化一次,之后不可變;指針可變;引用“從一而終”,指針可以“見異思遷”;

引用沒有const,指針有const,const的指針不可變;(具體指沒有int& const a這種形式,而const int& a是有的,前者指引用本身即別名不可以改變,這是當(dāng)然的,所以不需要這種形式,后者指引用所指的值不可以改變)

引用不能為空,指針可以為空;

“sizeof 引用”得到的是所指向的變量(對(duì)象)的大小,而“sizeof 指針”得到的是指針本身的大小;

指針和引用的自增(++)運(yùn)算意義不一樣;

引用是類型安全的,而指針不是(引用比指針多了類型檢查)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
成人免费视频a| 国产精品一区二区x88av| av官网在线观看| 精品国产一区二区三区小蝌蚪| 国产喷白浆一区二区三区| 国产亚洲精久久久久久无码77777| 亚洲天堂二区| 国产欧美精品在线观看| 一本本久综合久久爱| 欧美激情中文网| 九七影院理伦片| 天堂中文最新版在线中文| 国产精品视频一| 国产欧美一区二区在线播放| 久久精品国产77777蜜臀| 视频精品一区二区三区| 中文字字幕在线中文乱码| 99re在线视频这里只有精品| 欧美成aaa人片免费看| 老司机性视频| 4444免费观看| 最近中文字幕一区二区| 在线观看精品| 少妇高潮 亚洲精品| 欧美激情福利视频在线观看免费| 激情视频一区二区三区| 国产区在线视频| 牛人盗摄一区二区三区视频| 天堂av在线资源| 在线国产精品视频| 午夜精品短视频| 亚洲欧洲日韩| 玖玖综合伊人| 国内自拍视频一区二区三区| 啪啪小视频网站| 成人手机在线免费视频| av激情在线| 黄色一级大片免费| 啊啊啊好爽视频| 国产十八熟妇av成人一区| aaaa欧美| 全黄性性激高免费视频| 日韩美女写真福利在线观看| 三级视频在线观看| 日韩免费在线观看| 九九热精品视频在线观看| 少妇一级黄色片| 中文字幕5566| 国产无遮挡裸体免费视频| 影音先锋欧美在线| 三级网站免费看| jizzjizzjizz欧美| 欧美日韩国产亚洲沙发| 午夜视频在线观看韩国| 999在线观看精品免费不卡网站| 91久久在线播放| 丝袜足脚交91精品| 成年在线电影| 成人欧美精品一区二区| 免费看成人片| 99re国产精品| 亚洲一区精品视频在线观看| 99久久国产综合精品麻豆| 日韩欧美在线网站| 久久美女艺术照精彩视频福利播放| 欧美日韩精品免费观看视一区二区| bestiality新另类大全| 夜夜躁狠狠躁日日躁婷婷小说| 黄色污污视频在线观看| 久久蜜桃av一区二区天堂| 欧美国产日韩一区二区三区| 污视频在线观看免费网站| 97超碰人人澡| 精品国产老师黑色丝袜高跟鞋| 亚洲精品一区二区三区香蕉| 顶级欧美妇高清xxxxx| 亚洲高清在线观看| 99中文视频在线| 韩日三级av| 国产精品国产馆在线真实露脸| 欧美人与性动交α欧美精品济南到| av成人免费在线| 美女亚洲精品| av网站网址在线观看| 日韩成人午夜电影| 三年中文在线观看免费大全中国| 国产精品天美传媒沈樵| 九色成人搞黄网站| 欧美日韩黄网站| 国产亚洲福利社区| 日韩精品系列| 欧美精品免费在线| 人人玩人人添人人澡免费| 午夜精彩视频在线观看不卡| 精品成人久久av| 欧美日韩精品一区二区三区四区| 美女久久久精品| 亚洲成人激情综合网| 精品亚洲成av人在线观看| 一区二区三区精品视频在线观看| 少妇高潮喷水久久久久久久久久| www.jizz在线观看| 免费在线观看污视频| 粉嫩喷白浆久久| 亚洲人成人77777线观看| 麻豆传媒在线完整视频| 国产尤物在线播放| 国产精品**亚洲精品| 在线观看不卡一区| 亚洲国产精品一区二区久久hs| 亚洲第一网站| 久久久久亚洲av无码麻豆| 亚洲人成77777在线观看网| 亚洲精品国产首次亮相| 欧美成人影院在线播放| 五月天久久比比资源色| 免费看黄色片的网站| 日韩大片在线免费观看| 免费av一区二区三区| 美乳少妇欧美精品| 日韩欧美国产小视频| 天天干天天舔| 欧美成人中文字幕| 国产精品一区二区三区www| 久久久久国产精品视频| 免费在线成人av电影| 在线能看的av网址| 一级黄色录像免费看| 麻豆久久一区二区| 亚洲精品国产品国语在线| 麻豆av在线免费观看| av午夜精品一区二区三区| 国产精品国模大尺度私拍| 日本免费视频www| 免费看av在线| 不卡电影免费在线播放一区| 午夜dv内射一区二区| 国产爆初菊在线观看免费视频网站| 免费在线一区观看| 亚洲图片在区色| 91国内精品| 1024免费在线视频| 欧美gay1069大粗吊| 丁香六月综合| 亚洲精品鲁一鲁一区二区三区| 中文字幕在线资源| 欧美精彩一区二区三区| av资源网在线播放| 国产乡下妇女做爰毛片| 久操手机在线视频| 日日夜夜精品视频天天综合网| 美女一区二区久久| 日韩精品免费一区二区三区竹菊| www.狠狠干| 国内久久久精品| 亚洲小说欧美激情另类| 韩国v欧美v日本v亚洲| 日韩一区二区三区免费看| 在线免费观看的av| av一区在线播放| 99在线视频观看| 女人丝袜激情亚洲| 黑鬼大战白妞高潮喷白浆| 蜜桃视频在线观看免费视频网站www| 国产九色porny| 欧美日韩在线一区二区| 尤物视频最新网址| 欧美freesex交免费视频| www.久久国产| 国产精品无码在线| 欧美乱人伦中文字幕在线| 狼人精品一区二区三区在线| 你懂的免费网站| 精品爆乳一区二区三区无码av| 一级二级在线观看| 哺乳一区二区三区中文视频| www..com.cn蕾丝视频在线观看免费版| 少妇淫片在线影院| 国产精彩视频一区二区| 男人的天堂va在线| 久久久久久久久久亚洲| 亚洲精品亚洲人成在线观看| 台湾佬成人中文网222vvv| 亚洲av无码国产综合专区| 婷婷在线视频| 一本一道综合狠狠老| 亚洲一区二区久久久| 国产精品久久久久久久久借妻| 一区二区伦理片| 中文在线а√在线8| 欧美专区福利在线| 少妇人妻偷人精品一区二区| 国产成人麻豆免费观看| 成年人免费网站在线观看| fc2成人免费视频| 欧美日本在线看| 国产精品免费视频一区| 久久精品视频99| aaa一区二区三区| 午夜福利视频一区二区| 成人欧美在线| 人人做人人草| 亚洲欧美视频在线| 成人av番号网| 快射视频在线观看| 毛毛毛毛毛毛毛片123| 欧美一级性视频| 国产成人a亚洲精品| 天堂蜜桃一区二区三区| 91传媒免费观看| 国内精品久久久| 日本电影中文字幕| 91成品人片a无限观看| 国产精品久久二区| freemovies性欧美| 亚洲黄色免费电影| 精品人伦一区二区三区| 久久蜜桃一区二区| 成人午夜电影网站| 色哟哟精品观看| 中文字幕亚洲二区| 少妇网站在线观看| 欧美日韩国产高清一区二区三区| 亚洲欧洲偷拍精品| 国产精品自拍小视频| 日本色七七影院| 国产日韩中文字幕在线| 日本一区视频在线观看免费| 日韩一级大片在线| www.一区二区三区.com| 中文在线最新版天堂| 欧美一级鲁丝片| 丰满少妇一区二区| av片在线看| 免费吸乳羞羞网站视频| 久久久人成影片一区二区三区| 日韩欧美二区| 中文字幕码精品视频网站| 四虎亚洲精品| 四虎最新地址发布| 亚洲超碰在线观看| theporn国产精品| av有声小说一区二区三区| 国产精品久久久久久av公交车| 免费观看黄网站| 国产成人福利短视频app| 香蕉精品999视频一区二区| 国产精品一区在线播放| 狠狠色伊人亚洲综合网站l| 亚洲国产一区二区三区高清| 国产黄色激情视频| 这里是久久伊人| 日韩电影大全免费观看2023年上| 国产欧美日韩第一页| 免费动漫网站在线观看| 操你啦视频分享| 精品亚洲免a| 欧美成人第一区| 国产传媒欧美日韩| 亚洲国产一二三精品无码| 亚洲亚裔videos黑人hd| 性欧美丰满熟妇xxxx性久久久| 韩日一区二区三区| 免费看涩涩视频软件| 日韩av电影网址| 国产精品久久毛片a| 亚洲av成人无码久久精品| 欧美激情成人在线| 黄av在线播放| 久久综合入口| 国产乱子伦农村叉叉叉| 在线观看精品国产视频| 国产高清亚洲一区| 亚洲无人区一区| 香蕉精品久久| 美国av一区二区三区| 在线观看电影av| 久久中文字幕一区| 九色在线视频| 综合亚洲色图| 成人免费观看在线网址| 黄色www视频| 亚洲精品aⅴ中文字幕乱码| 九九在线观看免费视频| 99久久婷婷| 成人免费网站视频www| 丝袜 亚洲 另类 欧美 重口| 久久精品午夜福利| 久久久久综合| 亚洲老板91色精品久久| 九色视频在线观看免费| 毛片在线不卡| 国产三级午夜理伦三级| av电影在线观看网站| 性生交大片免费全黄| 成人av无码一区二区三区| 欧美影院一区二区| 一区二区三区四区日本视频| 露脸国产精品自产在线播| 国产精品久久久久久久久久齐齐| 天天操天天干天天| 亚洲第一页自拍| 加勒比一区二区三区在线| 亚洲黄色精品| 午夜视频你懂的| www.黄色一片| 欧美视频在线第一页| 国产真实乱偷精品视频免| www.综合色| 欧美视频中文一区二区三区在线观看| 91嫩草国产线观看亚洲一区二区| 国产丝袜精品丝袜| 国产精品美女主播| 天天综合网日韩| 黄色日韩网站| 精品免费久久久| 欧美一区二区在线看| 久久久久久久久久久免费视频| 亚洲国产中文字幕在线| 国产寡妇亲子伦一区二区| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 精品91一区二区三区| 日本黄色大片视频| 欧美精品一二| 日韩女优电影在线观看| 巨乳女教师的诱惑| 来个黄色网址| 久久99精品久久久久久|