[C++, CPP 教學教程教材Tutorial] 指標(Pointer)&指涉器 ...

文章推薦指數: 80 %
投票人數:10人

介紹C++的指標(Pointer), 指涉器(Reference), 取址運算子(Address-of ... 指標 :用來儲存記憶體位址的變數 ⇒ 所以初始化時只能指派位址給指標,而不是值; 宣告:. [C++,CPP]指標(Pointer)、指涉器(Reference) 指標(Pointer) 指標:用來儲存記憶體位址的變數所以初始化時只能指派位址給指標,而不是值 宣告: 型別*變數名稱; 型別*變數名稱; 型別*變數名稱1,*變數名稱2; 型別*變數名稱1,*變數名稱2; int*myIntPtr;//宣告一個指標變數 int*myIntPtr1,*myIntPtr2;//宣告兩個指標變數 int*myIntptr1,myIntVar;//宣告1個指標變數,1個整數變數 int*myIntptr1,myIntVar;//宣告1個指標變數,1個整數變數 宣告時使用的*表示宣告指標變數,並無取值運算子*的效果 宣告時只能指派位址,而不能指派值 intmyInt=123; int*myIntPtr1=myInt;//X宣告時不能指派值 int*myIntPtr2=123;//X宣告時不能指派值 int*myIntPtr3=&myInt;//O宣告時可以指派位址 *myIntPtr3=123;//O利用取值運算子指派值給指標myIntPtr3 *myIntPtr3=myInt;//O利用取值運算子指派值給指標myIntPtr3 指標的型態和位址儲存資料的型態要一致(EX:都是int),否則會產生編譯錯誤 指標的功能 快速存取陣列 存取函式外的資料 動態分配使用的記憶體 Δ回到最上方 取址運算子(Address-OfOperator) 取址運算子(Address-OfOperator):「&」 取得變數的儲存位置 &運算元 intmyInt=123; int*pInt1;//宣告一個指標 pInt1=&myInt;//將myInt的位址指派給pInt1 int*pInt2=&myInt;//宣告一個指標,並指派初始值為myInt的位址 //顯示pInt1儲存的位址myInt的位址myInt的值 pInt1儲存的位址記錄的值 //顯示:0012FF600012FF60123123 cout<(變數) 不可將const指標型別解釋為非const指標型別 可將非指標型別解釋為指標型別,但此法相當危險 雖然解釋為新型別,但原變數的型別並沒有變化 floatmyFloat=3.14; float*pFloat=&myFloat; long*pLong=reinterpret_cast(pFloat); cout<



請為這篇文章評分?