爲什麼指針指向整數數組和字符數組時,行爲會有所不同?指針和數組[指針int和指向char的指針]
例如
int num[] = {1,2,3};
cout << num ;
此打印出ADDRESS所述第一元件的
char list[] = { '1', '2', '3'};
cout << list ;
此打印出陣列的整個元件的VALUE!
同樣
cout << (num+1) ;
打印出第二元件的地址。雖然
cout << (list+1);
打印出整個陣列的值從所述第二元件
從我的理解開始,數組名是一個指針數組的第一個元素。沒有解引用運算符(*),指針應該返回元素的地址。但爲什麼char指針返回值?
不同之處在於'operator <<'是一個重載函數,'char *'與其他指針類型有不同的重載 –
C不是C++不是C.不要垃圾標籤! – Olaf
我沒有意識到這個問題是專門針對C++的。我認爲這與整個指針和數組概念有關。對不起 – Aditya