Re: [問題] 小問題
※ 引述《imprazaguy (Wayne)》之銘言:
: ※ 引述《QQQQ (終於註冊好囉)》之銘言:
: : #include<iostream>
: : using namespace std;
: : int main()
: : {
: : char array[]={'a','b','c','d'};
: : cout<<&array[0];
: : system("pause");
: : return 0;
: : }
: : 抱歉~有點蠢的問題
: : 想釐清些小觀念
: : 我只能知道此陣列的起始位址(cout<<&array)
: 事實上array就代表起始位址,不需要用 &array
: 之所以不會印位址是因為 cout 碰到 char*型態的資料 會當成字串輸出
: 所以你改成
: cout << (void*)array;
: cout << (void*)array[0];
: 就沒問題
: : 無法表示出各字元對應的位址嘛??
: : (會出現亂數)
: : 和下比較:
: : #include<iostream>
: : using namespace std;
: : int main()
: : {
: : int num[]={1,2,3,4};
: : cout<<&num[0];
: : system("pause");
: : return 0;
: : }
: : 此整數陣列就可對應出個別位址
: : 我實在搞不懂兩者差異XD
: : 抱歉~真是個蠢問題
再小小延伸一下
程式如下:
#include<iostream>
using namespace std;
int main()
{
char array[]={'a','b','c','d'};
cout<<(void*)array<<endl;
cout<<(void*)array[0];
system("pause");
return 0;
}
為何兩者位址不一樣呢??
把array看成指標
array指標的位址不是等於arrray[0]的位址嘛??
我真的混亂了XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.139.150.202
推
06/19 01:51, , 1F
06/19 01:51, 1F
→
06/19 01:52, , 2F
06/19 01:52, 2F
推
06/19 01:57, , 3F
06/19 01:57, 3F
推
06/19 02:00, , 4F
06/19 02:00, 4F
→
06/19 02:02, , 5F
06/19 02:02, 5F
→
06/19 02:02, , 6F
06/19 02:02, 6F
推
06/19 02:03, , 7F
06/19 02:03, 7F
→
06/19 02:03, , 8F
06/19 02:03, 8F
→
06/19 02:03, , 9F
06/19 02:03, 9F
推
06/19 02:06, , 10F
06/19 02:06, 10F
推
06/19 03:29, , 11F
06/19 03:29, 11F
→
06/19 21:56, , 12F
06/19 21:56, 12F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章