[問題] 字元陣列問題
一個一維陣列 我知道陣列名稱的內容跟位址都是陣列第一個值的位址
而陣列名稱是指到某變數型態的指標
如果宣告一個int a[5]={1,2,3,4,5};
//假設第一個位址是0x28ff10
cout<<a<<endl;//0x28ff10
cout<<&a<<endl;//0x28ff10
cout<<&a[0]<<endl;//0x28ff10
cout<<a[0]<<endl;//1
cout<<*a<<endl;//1
如果宣告一個char b[5]="abcd";
//假設第一個位址是0x28ff30
cout<<b<<endl;//abcd
cout<<&b<<endl;//0x28ff30
cout<<&b[0]<<endl;//abcd
cout<<b[0]<<endl;//a
cout<<*b<<endl;//a
如果我想要知道b的內容 應該也是0x28ff30吧 那要怎麼表示出來呢?
另外 cout<<*&a<<endl;//0x28ff10 這是怎麼回事?
cout<<*&b<<endl;//abcd
a跟b本身所在的位置為什麼也有指標的功能呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.166.141
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1449994803.A.32F.html
※ 編輯: anoymouse (118.169.166.141), 12/13/2015 16:20:34
→
12/13 16:40, , 1F
12/13 16:40, 1F
→
12/13 16:45, , 2F
12/13 16:45, 2F
推
12/13 22:58, , 3F
12/13 22:58, 3F
→
12/13 22:58, , 4F
12/13 22:58, 4F