char *ps;
ps = &anotherChar;
cout << ps;
Run Code Online (Sandbox Code Playgroud)
为什么这会显示anotherChar的值而不仅仅是地址?
原因是char*C/C++中的a是双重目的类型.它既可以是指向单个字符的指针,也可以是C样式字符串.cout函数选择将其视为C样式字符串,因此将打印值而不是地址.
这也是您的应用程序的潜在问题.C样式字符串以null终止符值结尾.因此,它有可能读取非法内存,因为它没有正确初始化.