C++學(xué)習(xí)之指針的使用詳解
C++中指針儲存一個地址
聲明:
datatype* p; datatype表示指針指向的數(shù)據(jù)類型。
int num=0; int* pnum=# //&是地址運(yùn)算符,&num表示num這個變量存儲的地址 //int*聲明了pnum是一個指針變量
解引用符號 *:
int num=1024; int* pnum=# cout<<*pnum<<endl;//結(jié)果是num的值:1024
指針的運(yùn)算:
int num=1024; int* pnum=# //地址后移: //cout<<*pnum<<endl; cout<<pnum<<" "; pnum=pnum+sizeof(int); cout<<pnum;//輸出 0x61ff08 0x61ff18
改變變量num:
int num=1024; int* pnum=# //變量num的改變 (*pnum)++;//此時num的值變?yōu)?025,注意:不加括號可能出錯。
幾種指針:
常量指針:聲明之后不可更改(指向一個不變的內(nèi)存位置,但該位置存儲的內(nèi)容可以改變)
聲明常量指針時數(shù)據(jù)類型在前,并且聲明和初始化必須在同一行
數(shù)組名就是常量指針。
//正確聲明常量指針: int num=1024; int* const pnum=# //錯誤聲明: const int* pnum=#//指針不是常量,但是不能通過該指針改變該數(shù)據(jù)。 num=64;//no problem,可以改變變量值 *pnum=100;//wrong
指針函數(shù):
1.指針作為參數(shù)
void change(int* p) { (*p)++; } int main() { int num=1024; int* pnum=# change(pnum); cout<<num;//輸出1025 return 0; }
2.指針作為返回結(jié)果
int* change(int* p) { p=p+1;//指針向后移動 //指針p為常量指針 p+1的結(jié)果更像是指向下一個數(shù)組元素 return p; } int main() { int list1[3]={1,2,3}; int* plist1=list1; plist1=change(plist1); cout<<*plist1<<endl;//輸出2 return 0; }
3.this指針:訪問其他數(shù)據(jù)域的參數(shù)。
Circle::Circle() { double r=1; } Circle::Circle(double r) { this->r=r;//調(diào)用上一個作用域的r }
到此這篇關(guān)于C++學(xué)習(xí)之指針的使用詳解的文章就介紹到這了,更多相關(guān)C++指針內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言內(nèi)存函數(shù) memcpy,memmove ,memcmp
這篇文章主要介紹了C語言內(nèi)存函數(shù) memcpy,memmove ,memcmp,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09C語言驅(qū)動開發(fā)內(nèi)核枚舉IoTimer定時器解析
這篇文章主要為大家介紹了C語言驅(qū)動開發(fā)內(nèi)核枚舉IoTimer定時器解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10C++示例講解friend static const關(guān)鍵字的用法
靜態(tài)成員static是解決同一個類的不同對象之間數(shù)據(jù)和函數(shù)共享問題。區(qū)分全局變量,全局變量也能實(shí)現(xiàn)數(shù)據(jù)共享,但安全性和封裝性被破壞了,友元提供了不同類或?qū)ο蟮某蓡T函數(shù)之間、類的成員函數(shù)與一般函數(shù)之間進(jìn)行數(shù)據(jù)共享的機(jī)制,const常引用-被引用的對象不能被更新2022-06-06C語言數(shù)據(jù)結(jié)構(gòu)之隊(duì)列算法詳解
這篇文章介紹了C語言數(shù)據(jù)結(jié)構(gòu)之隊(duì)列的算法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12學(xué)習(xí)二維動態(tài)數(shù)組指針做矩陣運(yùn)算的方法
這片文章介紹了如何利用二維動態(tài)數(shù)組指針做矩陣運(yùn)算,需要的朋友可以參考下2015-07-07