1. 宣告多個指標的時候:
int* p1,p2;
如上所示,宣告的是建立乙個指標p1和乙個int型的變數p2。而不是宣告的兩個指標。
對每個指標變數名,都需要使用乙個*。
在c++中,int* 是一種復合型別,是指向int的指標。
2. 可以在宣告語句中初始化指標,但是,在這種情況下,被初始化的是指標,而不是它指向的值。
int higgens = 5;int * pt = &higgens;
這裡將pt(而不是*pt)的值設定為&higgens。
如下程式所演示:
#includeusingnamespace
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的情況都可以使用,那麼自然不初始化的類指...