C++ 指針初始化要注意的地方


1. 聲明多個指針的時候:

int* P1,P2;

如上所示,聲明的是創建一個指針P1和一個int型的變量P2。而不是聲明的兩個指針

對每個指針變量名,都需要使用一個*

在C++中,int* 是一種復合類型,是指向int的指針。

2. 可以在聲明語句中初始化指針,但是,在這種情況下,被初始化的是指針,而不是它指向的值。

int higgens  = 5;
int * pt = &higgens;

這里將pt(而不是*pt)的值設置為&higgens。

如下程序所演示:

#include<iostream>
using namespace std;
int main()
{   
    int higgens = 5;
    int *pt = &higgens;
    cout << higgens <<endl;
    cout << &higgens << endl;
    cout << *pt <<endl;
    cout << pt;
    cin.get();
    return 0;
}

輸出:

5
006FFD88
5
006FFD88

3.指針的危險!!!

  在C++中創建指針時,計算機將分配用來存儲地址的內存,而不會分配用來存儲指針所指向數據的內存,為數據提供空間是一個獨立的步驟!!!也就是說指針所指向的地址並不是用來存儲數據的地址!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM