作者imprazaguy (Wayne)
看板C_and_CPP
标题Re: [问题] 小问题
时间Fri Jun 19 01:04:00 2009
※ 引述《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
: 抱歉~真是个蠢问题
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.168.207.144
1F:推 QQ29:用void *去印 没想到~ 推 06/19 01:06
XD 後来发现 (void*)array[0] 少加了& 以补上
※ 编辑: imprazaguy 来自: 220.136.72.91 (06/19 10:52)