亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何掌握C++指針基礎

發布時間:2021-10-27 18:26:57 來源:億速云 閱讀:148 作者:柒染 欄目:編程語言

這篇文章給大家介紹如何掌握C++指針基礎,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

C++指針就像是其它變量一樣,所不同的是一般的變量包含的是實際的真實的數據,而指針是一個指示器,這些都是一些C++指針基礎性的問題,也是C++中指針中的一個非常重要的概念。

它告訴程序在內存的哪塊區域可以找到數據。這是一個非常重要的概念,有很多程序和算法都是圍繞指針而設計的,如鏈表。如何定義一個指針呢?就像你定義一個其它變量一樣,只不過你要在指針名字前加上一個星號。

我們來看一個例子:下面這個程序定義了兩個指針,它們都是指向整型數據。你注意到在兩個變量名前的“p”前綴了嗎?這是程序員通常在定義C++指針基礎時的一個習慣,以提高便程序的閱讀性,表示這是個指針。現在讓我們來初始化這兩個指針

#include <iostream.h> void main()  {  // 聲明變量:  int nNumber;  int *pPointer;  // 現在給它們賦值:  nNumber = 15;  pPointer = &nNumber;  //打印出變量nNumber的值:  cout<<"nNumber is equal to :"<< nNumber<<endl;  // 現在通過指針改變nNumber的值:  *pPointer = 25;  //證明nNumber已經被上面的程序改變  //重新打印出nNumber的值:   cout<<"nNumber is equal to :"<<nNumber<<endl;   }

號讀作“什么的地址”,它表示返回的是變量在內存中的地址而不是變量本身的值。在這個例子中,pNumberOne 等于some_number的地址,所以現在pNumberOne指向some_number. 如果現在我們在程序中要用到some_number,我們就可以使用pNumberOne.

我們來學習一個例子:在這個例子中你將學到很多,如果你對C++指針基礎的概念一點都不了解,我建議你多看幾遍這個例子,指針是個很復雜的東西,但你會很快掌握它的。這個例子用以增強你對上面所介紹內容的了解。它是用C編寫的(注:原英文版是用C寫的代碼,譯者重新用C++改寫寫了所有代碼,并在DEV C++ 和VC++中編譯通過!)

#include <iostream.h> void main()  {  // 聲明變量:  int nNumber;  int *pPointer;  // 現在給它們賦值:  nNumber = 15;  pPointer = &nNumber;  //打印出變量nNumber的值:  cout<<"nNumber is equal to :"<< nNumber<<endl;  // 現在通過指針改變nNumber的值:  *pPointer = 25;  //證明nNumber已經被上面的程序改變  //重新打印出nNumber的值:   cout<<"nNumber is equal to :"<<nNumber<<endl;   }

通讀一下這個程序,編譯并運行它,務必明白它是怎樣工作的。如果你完成了,準備好,開始下一小節,這段程序先調用了SomeFunction函數,創建了個叫nNumber的變量。接著讓C++指針基礎pPointer指向了它。可是問題出在哪兒呢?當函數結束后,nNumber被刪掉了,因為這一個局部變量。局部變量在定義它的函數執行完后都會被系統自動刪掉。

也就是說當SomeFunction 函數返回主函數main()時,這個變量已經被刪掉,但pPointer還指著變量曾經用過的但現在已不屬于這個程序的區域。如果你還不明白,你可以再讀讀這個程序。

注意它的局部變量和全局變量,這些概念都非常重要。但這個問題怎么解決呢?答案是動態分配技術。注意這在C和C++中是不同的。由于大多數程序員都是用C++,所以我用到的是C++中常用的稱謂。

關于如何掌握C++指針基礎就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

郴州市| 石嘴山市| 鄂尔多斯市| 徐闻县| 商河县| 桐庐县| 大厂| 会昌县| 宁强县| 祁门县| 永德县| 肥西县| 南溪县| 泽普县| 报价| 大石桥市| 樟树市| 卫辉市| 平邑县| 天全县| 东方市| 体育| 安泽县| 天镇县| 准格尔旗| 西林县| 金阳县| 焦作市| 正蓝旗| 隆林| 青海省| 景洪市| 岳普湖县| 江口县| 石首市| 东丰县| 武宁县| 云林县| 保德县| 新密市| 澄迈县|