C 指標初始化要注意的地方

2022-07-20 02:12:09 字數 594 閱讀 2598

1. 宣告多個指標的時候:

int* p1,p2;

如上所示,宣告的是建立乙個指標p1和乙個int型的變數p2。而不是宣告的兩個指標。

對每個指標變數名,都需要使用乙個*。

在c++中,int* 是一種復合型別,是指向int的指標。

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

int higgens  = 5

;int * pt = &higgens;

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

如下程式所演示:

#includeusing

namespace

std;

intmain()

輸出:5

006ffd88

5006ffd88

3.指標的危險!!!

在c++中建立指標時,計算機將分配用來儲存位址的記憶體,而不會分配用來儲存指標所指向資料的記憶體,為資料提供空間是乙個獨立的步驟!!!也就是說指標所指向的位址並不是用來儲存資料的位址!

DLL設定共享變數要注意初始化。

pragma data seg shared 變數定義並初始化 pragma data seg 不能使用動態分配記憶體的型別,比如cstring,vector,list之類。申明陣列後要初始化,比如 int g arrblockpath 260 可在dll的def檔案中 申明共享節 sections...

初始化指標

includeusing namespace std int main nullptr 是 c 新標準引入的特性,visual c 2010 編譯器支援它。過去已經使用0或 null 編譯器將用 0代替此巨集 來初始化指標,當然它們現在仍然可以使用。但是,使用 nullptr 初始化指標要好得多。因...

C 類指標初始化

上面 的 會列印 a c 類指標定義的時候沒有初始化的時候,居然可以安全的呼叫類內部的成員函式而不出錯。在網上查了一下 初始化為null的類指標可以安全的呼叫不涉及類成員變數的類成員函式而不出錯,但是如果類成員函式中呼叫了類成員變數則會出錯,既然賦值為null的情況都可以使用,那麼自然不初始化的類指...