成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何掌握C++指針基礎

開發 后端
學習C++指針基礎先要了解什么是C++指針,指針是一個無符號整數,它是一個以當前系統尋址范圍為取值范圍的整數。

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

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

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

  1. #include <iostream.h> 
  2. void main()  
  3. {  
  4. // 聲明變量:  
  5. int nNumber;  
  6. int *pPointer;  
  7. // 現在給它們賦值:  
  8. nNumber = 15;  
  9. pPointer = &nNumber;  
  10. //打印出變量nNumber的值:  
  11. cout<<"nNumber is equal to :"<< nNumber<<endl;  
  12. // 現在通過指針改變nNumber的值:  
  13. *pPointer = 25;  
  14. //證明nNumber已經被上面的程序改變  
  15. //重新打印出nNumber的值:   
  16. cout<<"nNumber is equal to :"<<nNumber<<endl;   

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

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

  1. #include <iostream.h> 
  2. void main()  
  3. {  
  4. // 聲明變量:  
  5. int nNumber;  
  6. int *pPointer;  
  7. // 現在給它們賦值:  
  8. nNumber = 15;  
  9. pPointer = &nNumber;  
  10. //打印出變量nNumber的值:  
  11. cout<<"nNumber is equal to :"<< nNumber<<endl;  
  12. // 現在通過指針改變nNumber的值:  
  13. *pPointer = 25;  
  14. //證明nNumber已經被上面的程序改變  
  15. //重新打印出nNumber的值:   
  16. cout<<"nNumber is equal to :"<<nNumber<<endl;   

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

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

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

【編輯推薦】

  1. C與C++中標準輸入實現方式上的一點區別
  2. C++編譯器如何對Const常量進行分配存儲空間
  3. C++類庫設計的基本構思與方法
  4. 玩轉C++語言的幾種方法
  5. 如何更好的進行C++代碼編制
責任編輯:chenqingxiang 來源: javaeye.com
相關推薦

2011-07-15 01:38:56

C++this指針

2011-07-13 16:14:53

C++引用指針

2021-09-09 17:05:36

C++智能指針語言

2021-12-21 15:31:10

C++語言指針

2011-07-14 17:17:21

C++指針

2011-07-14 17:02:09

C++指針

2010-01-26 13:42:28

C++指針

2011-04-11 11:09:50

this指針

2014-01-24 09:49:01

C++指針

2021-10-27 16:27:20

C++指針操控

2021-06-10 08:51:57

C++指針聲明指針相關概念

2024-05-15 16:01:04

C++編程開發

2011-07-15 00:47:13

C++多態

2021-08-30 19:03:09

C++指針數據

2011-04-19 16:38:00

對象指針指針C++

2010-02-04 09:33:08

C++指針重載

2011-04-19 09:19:09

C++指針

2011-07-14 17:45:06

CC++

2011-07-12 13:01:00

CC++

2025-02-14 08:59:09

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美自拍日韩 | 亚洲男人的天堂网站 | 欧美日韩亚洲视频 | 久久久区 | 亚洲在线一区 | 欧美成人免费电影 | 久久婷婷香蕉热狠狠综合 | 一区二区三区四区国产 | 自拍视频在线观看 | 在线 丝袜 欧美 日韩 制服 | 国产精品美女久久久久久久网站 | 午夜电影网址 | 在线看亚洲 | 久久成人综合 | 在线看亚洲 | 在线精品一区二区 | 欧美日韩亚洲视频 | 国产精品久久久久久妇女6080 | 亚洲精品在线91 | 精品一区二区三区四区外站 | 九九九国产 | 亚洲精品乱码久久久久久9色 | 91精品国产乱码久久久久久久久 | 久草视频网站 | 能看的av网站 | 国产精品久久久久久久7777 | 国产精品国产 | 国产精品高清在线 | 精品欧美乱码久久久久久1区2区 | 亚洲美女视频 | 亚洲精品一区二区在线观看 | 中文字幕国产 | 亚洲精品在| 一区二区在线 | 超碰天天| 国产成人网 | 国产精品久久久久久久久免费桃花 | 欧美日韩高清免费 | 亚洲精选一区二区 | 亚洲免费三区 | 亚洲精品中文字幕在线观看 |