指標的起始設定
起始設定元是
= (等號) ,後面接著表示式,代表指標要包含的位址。 下列範例將變數 time 及 speed 定義為具有類型 double ,並將 amount 定義為具有 double的類型指標。 指標 amount 已起始設定為指向 total:double total, speed, *amount = &total;編譯器會將無下標的陣列名稱轉換成陣列中第一個元素的指標。 您可以透過指定陣列名稱,將陣列第一個元素的位址指派給指標。 下列兩組定義是相等的。 兩者都定義指標
student ,並將 student 起始設定為 section中第一個元素的位址:int section[80];
int *student = section;等於:int section[80];
int *student = §ion[0];您可以透過在起始設定元中指定字串常數,將字串常數中第一個字元的位址指派給指標。 下列範例定義指標變數
string 及字串常數 "abcd"。 指標 string 已起始設定為指向字串 "abcd"中的字元 a 。char *string = "abcd";下列範例將
weekdays 定義為字串常數的指標陣列。 每一個元素都指向不同的字串。 例如,指標 weekdays[2]指向字串 "Tuesday"。static char *weekdays[ ] =
{
"Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday"
};也可以使用求值為 0的任何整數常數表示式,將指標起始設定為空值,例如 char * a=0;
或使用nullptr關鍵字。 這類指標是空值指標。 它未指向任何物件。
下列範例定義具有空值指標值的指標:
char *a = 0;
char *b = NULL;
僅限 C++11 的開頭。
char *ch = nullptr;
僅限 C++11 結尾。
相關資訊