C++ 为什么这是使用定点c++;

C++ 为什么这是使用定点c++;,c++,c++11,C++,C++11,我不知道为什么这个代码会给出这样的结果。我认为指针p应该是str的地址,输出应该始终是while循环中的地址。为什么结果是str的真实值 char str[] = "we are poor students";//这是一个字符串 cout<<str<<endl; char *p = str; while (*p != '\0') { cout << p<<endl; p++; } return 0; const char*有一个特

我不知道为什么这个代码会给出这样的结果。我认为指针
p
应该是
str
的地址,输出应该始终是while循环中的地址。为什么结果是
str
的真实值

char str[] = "we are poor students";//这是一个字符串
cout<<str<<endl;
char *p = str;
while (*p != '\0')
{
    cout << p<<endl;
    p++;
}
return 0;

const char*
有一个特殊重载,用于显示c字符串内容、打印地址、将其强制转换为
void*

cout << static_cast<void*>(p) << endl;

不能将结果链接发布为图像。把它作为文本放在问题中。@JesperJuhl好的,谢谢
cout << static_cast<void*>(p) << endl;