作者sacredforce (小靖)
看板Programming
标题Re: 请教 C++阵列
时间Sat Jul 21 11:01:44 2007
※ 引述《leicheong (睡魔)》之铭言:
: ※ 引述《[email protected] ( )》之铭言:
: : #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