gpt4 book ai didi

c++ - 使用带有 char 变量的指针

转载 作者:搜寻专家 更新时间:2023-10-30 23:49:52 24 4
gpt4 key购买 nike

假设

char a='s';

现在我想把变量a的地址存入字符指针p中

char *p=&a;

如果我使用 cout << p;然后我得到值,而不是地址!

谁能解释一下为什么会这样?

最佳答案

basic_ostream<<运算符专门用于 const char* arguments*,像 C 字符串一样输出它**。参见 the answer to Why does cout print char arrays differently from other arrays?了解更多详情。

基本上,你可以投pvoid*打印时获取地址。

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

*:还有 const charT*其中 charTbasic_ostream采用的字符类型, 和 const unsigned char*const signed char*如果charT == char .例如,wcout会对待 const wchar_t*作为(宽)C 字符串,但是 cout会将其视为指针。

**:这被 basic_ostream 使用的性格特征所覆盖.有关详细算法,请参阅 C++ 标准 §[ostream.inserters.character]/4。

关于c++ - 使用带有 char 变量的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3370906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com