【发布时间】:2014-11-26 12:10:34
【问题描述】:
char label[] = "Single";
char *labelPtr;
labelPtr = label;
cout<<labelPtr;;
return 0;
上面代码的输出是Single。
我对输出感到困惑。
据我了解labelPtr 应该包含label[0] 的地址。那么输出不应该等于&label[0]吗?
【问题讨论】:
-
你试过
cout << &label[0];吗?你会得到什么结果? -
这里是对不同行为的一个很好的解释cplusplus.com/doc/tutorial/pointers
-
在 C++ 中
char *是一个 C 风格的字符串,它基本上是以空字符结尾的字符数组。因此,它按预期被视为字符串。