Re: 請教 C++陣列
※ 引述《leicheong (睡魔)》之銘言:
: ※ 引述《jiannrong@kkcity.com.tw ( )》之銘言:
: : #include<iostream>
: : using namespace std;
: : int main( )
: : {
: : char a[]={'1','2','3','4','\0'};
: : cout<<a<<endl;
: : cout<<a[0]<<endl;
: : cout<<&(a[0])<<endl;//這一行為何顯示1234呢?
: &[a[0]]是a 陣列的開始位置大約等於 *a, 因此會顯示至第一個遇到的'\0'字元.
: : cout<<&a<<endl;
: : cout<<&a+1<<endl;
: : cout<<a+1<<endl;//為什麼不是2 而是234呢?
其實,a+1此時必將a自動轉型成char*之型態
成為指標之後,便可適用加減運算。
a+1為字串指標型態,因此就cout而言
會以字串的型式將*a+1以後的字串輸出,
因此為234。
另外,有關array和pointer的區別
我找到了一篇很棒的文章供各位分享
http://www.cnblogs.com/oomusou/archive/2007/02/08/644197.html
--
對了,有沒有人有那張
幹一輩子革命,讀一輩子C++的書的那張圖啊
我要大張一點的....有的話可以寄給我嗎^^
謝謝
- 檢測小靖
: : system("pause");
: : return 0;
: : }
: : 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.55.215
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 4 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章