作者anoymouse (沒有暱稱)
看板C_and_CPP
標題[問題] 字元陣列問題
時間Sun Dec 13 16:20:01 2015
一個一維陣列 我知道陣列名稱的內容跟位址都是陣列第一個值的位址
而陣列名稱是指到某變數型態的指標
如果宣告一個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
→ Caesar08: goo.gl/GySmGn 12/13 16:40
→ anoymouse: 謝謝 我看一下 12/13 16:45
推 OPIV: *&a = &a[0] = a 12/13 22:58
→ OPIV: (void *)b ? 12/13 22:58