推 godman362:原來如此,這樣我明白了,謝謝指點 11/03 10:42
※ 引述《godman362 (青)》之銘言:
: 請問各位一個關於指標的問題
: 目前我有一個指標指向一個字串,如下:
: char *ptr = "Account";
: 當直接做輸出的話,是可以輸出,如下:
: cout <<&(*ptr) <<endl;
: 但是如果把他拿來做assign的話,卻會產生錯誤,如下:
: char ary[30] = &(*ptr);
: 他是說初始化錯誤,不過我看不出哪邊初始錯誤了
: 還請各位指導一下,謝謝
&(*ptr) 是多餘的, * 是 dereference,
& 是取址, 這和你直接寫 ptr 沒有分別.
另, 錯誤的關鍵在於 一邊是 char array,
另一邊是 ptr. 不同的東西哪可以這樣?
用 string literal 來 initialize char[]
你可以想成是特別的方法. 但 string literal
和 char* 是兩回事
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.155.236.82