gpt4 book ai didi

c++ - 为什么指向char的指针仅获得第一个字符?

转载 作者:行者123 更新时间:2023-12-01 15:13:30 25 4
gpt4 key购买 nike

我初始化了一个char和一个指针,然后将其指向char。但是我发现只有char中的第一个字符才传递给指针。怎么会这样感谢任何建议!

    char p[]="This is a long char.";
std::cout<<sizeof(p)<<"\n";
char *ptr=p;
std::cout<<*ptr<<"\n";

得到了:
21
T
Program ended with exit code: 0

在检查变量的值时,我注意到:
ptr=(char *) "This is a long char."
*ptr=(char) 'T'

为什么ptr保留整个字符,但其中的内容只是第一个字符?这不是我们所谓的指针的对立面吗?真的很困惑...

最佳答案

当你说:
std::cout<<*ptr...
您取消引用了ptr,这给了您ptr指向的(第一个)字符。

flyingCode的答案向您展示了如何打印整个字符串。

关于c++ - 为什么指向char的指针仅获得第一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60142531/

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