在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C/ 指針
動(dòng)態(tài)內(nèi)存
類(lèi)和對(duì)象
接口 (抽象類(lèi))
結(jié)構(gòu)體
循環(huán)的類(lèi)型
函數(shù)
數(shù)字
日期和時(shí)間
基本語(yǔ)法
多態(tài)
數(shù)據(jù)抽象
注釋
命名空間
字符串
預(yù)處理器
決策語(yǔ)句
修飾符的類(lèi)型
鍙橀噺綾誨瀷
基本輸入輸出
操作符
數(shù)組
模板
多線程
繼承
Web 編程
信號(hào)處理
指針
存儲(chǔ)類(lèi)型
概述
引用
常量
異常處理
開(kāi)發(fā)環(huán)境
重載
變量作用域
數(shù)據(jù)類(lèi)型
數(shù)據(jù)封裝
文件和流

指針

C++ 指針學(xué)起來(lái)非常容易和有趣。一些 C++ 的任務(wù)用指針執(zhí)行非常容易,諸如動(dòng)態(tài)分配內(nèi)存的 C++ 工作,如果沒(méi)有指針將無(wú)法執(zhí)行。

如你所知,每個(gè)變量有一個(gè)內(nèi)存位置,每個(gè)內(nèi)存位置都有它的地址定義,這個(gè)地址定義可以使用表示內(nèi)存中地址的和運(yùn)算符 (&) 進(jìn)行訪問(wèn)。下面我們將打印定義的變量的地址:

    #include <iostream>

    using namespace std;

    int main ()
    {
       int  var1;
       char var2[10];

       cout << "Address of var1 variable: ";
       cout << &var1 << endl;

       cout << "Address of var2 variable: ";
       cout << &var2 << endl;

       return 0;
    }

當(dāng)上述代碼被編譯執(zhí)行時(shí),它將產(chǎn)生如下結(jié)果:

    Address of var1 variable: 0xbfebd5c0
    Address of var2 variable: 0xbfebd5b6

指針是什么?

指針是一個(gè)變量,它的值是另一個(gè)變量的地址。像任何變量或常量一樣,你必須在使用它之前聲明一個(gè)指針。

指針變量聲明的一般形式為:

    type *var-name;

在這里,type 是指針的基類(lèi)型;它必須是一個(gè)有效的 C++ 類(lèi)型,var-name 是指針變量的名稱(chēng)。用來(lái)聲明一個(gè)指針的星號(hào)與你用于乘法的星號(hào)是一樣的。然而,在這個(gè)語(yǔ)句中,這個(gè)星號(hào)用來(lái)指定一個(gè)變量作為一個(gè)指針。以下是有效的指針聲明:

    int*ip;// pointer to an integer
    double *dp;// pointer to a double
    float  *fp;// pointer to a float
    char   *ch // pointer to character

所有指針的值的實(shí)際的數(shù)據(jù)類(lèi)型,或者是整數(shù),浮點(diǎn)數(shù),字符或者是其他,同樣的一個(gè)長(zhǎng)十六進(jìn)制數(shù)表示一個(gè)內(nèi)存地址。不同的數(shù)據(jù)類(lèi)型的指針之間的唯一區(qū)別在于指針指向的變量或常量的數(shù)據(jù)類(lèi)型。

在 C++ 中使用指針

這里有幾個(gè)我們將非常頻繁的使用指針的重要的操作。

(a) 我們定義一個(gè)指針變量;

(b) 將一個(gè)變量的地址分配給指針;

(c) 最后使用在指針變量中的地址來(lái)訪問(wèn)這個(gè)值。

這是通過(guò)使用一元運(yùn)算符 * 完成的,返回位于通過(guò)運(yùn)算符指定地址的變量的值。以下示例使用這些操作:

    #include <iostream>

    using namespace std;

    int main ()
    {
       int  var = 20;   // actual variable declaration.
       int  *ip;// pointer variable 

       ip = &var;   // store address of var in pointer variable

       cout << "Value of var variable: ";
       cout << var << endl;

       // print the address stored in ip pointer variable
       cout << "Address stored in ip variable: ";
       cout << ip << endl;

       // access the value at the address available in pointer
       cout << "Value of *ip variable: ";
       cout << *ip << endl;

       return 0;
    }

當(dāng)上述代碼被編譯執(zhí)行時(shí),它將產(chǎn)生如下結(jié)果:

    Value of var variable: 20
    Address stored in ip variable: 0xbfc601ac
    Value of *ip variable: 20

詳細(xì)的 C++ 指針

指針有很多但是很容易的概念,它們對(duì) C++ 的編程非常重要。這里有一些 C++ 程序員應(yīng)該必須清楚的重要的指針概念:

概念 描述
C++ 空指針 C++ 支持空指針,它是在幾個(gè)標(biāo)準(zhǔn)庫(kù)中被定義值為零的一個(gè)常量。
C++ 指針?biāo)惴?/td> 這里有四種可用于指針的算術(shù)運(yùn)算符:++,--,+,-
C++ 指針與數(shù)組 指針與數(shù)組之間有著密切的關(guān)系。讓我們看一看?
C++ 指針數(shù)組 你可以定義保存大量指針的數(shù)組。
C++ 指針的指針 C++ 允許您有指針的指針,等等。
將指針傳遞給函數(shù) 通過(guò)引用或通過(guò)地址傳遞參數(shù),兩種方法都可以使被調(diào)用的函數(shù)在調(diào)用函數(shù)中傳遞的參數(shù)發(fā)生更改。
從函數(shù)返回指針 C++ 允許函數(shù)返回一個(gè)指向本地變量的指針,同樣也允許返回指向靜態(tài)變量和動(dòng)態(tài)分配內(nèi)存的指針。
上一篇:文件和流下一篇:引用