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:哪本书对诸如此类的问题讲得比较深入?
搞不明白下面的输出为什么是这样的,
#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:哪本书对诸如此类的问题讲得比较深入?
...全文
相关推荐
明明白白C指针.pdf
在数组中,`sizeof(a)`会返回整个数组的大小,即`20 * sizeof(char)`。而`sizeof(ptr)`会返回指针本身的大小,通常是4或8字节,取决于系统架构。8.
深入理解const 与指针
五、内存空间和指针:另外,要明白“每块内存空间都可有名字;每块内存空间内容皆可变(除非有所限)”。
明明白白C C++指针
`char* ptr;`这条语句声明了一个指向字符型(char)数据的指针变量`ptr`。这意味着`ptr`可以用来存储一个字符型变量的地址。
c指针用法总结
对于指针,如`int *p; p=p+1;`是合法的,但`p[0]=1;`在未初始化指针的情况下是不允许的。
c_c++指针详解 指针详解
例如:int *p; // 指针的类型是 int*char *p; // 指针的类型是 char*int p; // 指针的类型是 intint (*p)[3]; // 指针的类型是 int(*)[3]


