程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> C++基礎教程-指針

C++基礎教程-指針

編輯:更多關於編程

      使用指針可以直接操作內存地址,提高效率,缺點是繞彎比較難理解,本教程為大家介紹C++語言中的指針。

      1、啟動 Geany

      1)點菜單“應用程序-編程-Geany”啟動 Geany ,新建一個 c++ 源程序;

      2)點菜單“文件-另存為”命令,以“ptr”為文件名,保存文件到自己的文件夾;

      2、指針變量

      1)使用指針前也要先定義,用 * 號來定義,賦值用其他變量的地址,也可以初始化為空 NULL;

      輸入下面的代碼:

          int a = 25;

          int *p = NULL;

          p = &a; 

      2)第一句定義一個整型變量 a,每個變量都有內存地址,用 &a 命令得到變量的地址,

      第二句定義一個指針變量,類型是整型,星號 * 是定義符號,NULL 表示賦值為空值,

      第三句是給指針變量 p 賦值,值是變量 a 的地址,格式形如 0x123456;

      3)接著我們來顯示一下各個變量的值,跟各自的類型相對應;

          cout << "a = " << a;

          cout << "&a= " << &a;

          cout << "p = " << p; 

    C++基礎教程-指針 三聯教程

      4)a 是整型變量,裡面裝的是整數,&a 是取地址操作符,得到的是地址,

      p 是一個指針變量,裡面存放的地址,p 給的是 a 的地址,所以兩個地址是相同的;

      5)接下來我們來看利用指針操作它對應的變量,繼續輸入下面的代碼;

          cout << "*p= " << *p << endl;

    C++基礎教程-指針

      6)這兒的 *p 不是定義指針,因為星號 * 前面沒有類型,而且 p 已經定義過,不能重復定義,

      這兒的 *p 是間接引用,指向的是 a,因為 p 裡存放的是 a 的地址,因此 *p 的值是 25;

      7)利用 *p 可以對變量 a 進行操作,例如下面的代碼給 a 重新賦值;

          *p = 16;

          cout <<"a = " << a; 

    C++基礎教程-指針

      #include <iostream>

      using namespace std;

      int main(int argc, char** argv)

      {

          int a = 25;

          int *p = NULL; //定義指針變量,並初始化

          p = &a;        //賦值給指針變量

         

          cout << "a = " << a  << endl;

          cout << "&a= " << &a << endl;

          cout << "p = " << p  << endl;

         

          cout << endl;

         

          cout << "*p= " << *p << endl;

          cout << endl;

         

          *p = 16;     //間接引用,不是定義指針

          cout <<"a = " << a;

          return 0;

      } 

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved