char * 指针问题搞不明白,请给洗洗脑
菜鸟问题,不要见笑。
搞不明白下面的输出为什么是这样的,
#include <iostream.h>
void main(void)
{
//这里面的buf,buf[n],&buf,&buf[n]到底代表的啥玩意????
char * buf="This is a test";
cout<<buf<<"\n";
cout<<buf[0]<<"\n";
cout<<buf[1]<<"\n";
cout<<&buf<<"\n";
cout<<&buf[0]<<"\n";
cout<<&buf[1]<<"\n";
return;
}
输出结果:
This is a test
T
h
0x0012FF7C
This is a test
his is a test
BTW:哪本书对诸如此类的问题讲得比较深入?