gpt4 book ai didi

c++ - 为什么可以在 C++ char* 中放入多个字符

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:14:33 25 4
gpt4 key购买 nike

我不知道这是怎么回事。

// This doesn't work (obviously)
char a;
a = "aaa";

// This works
char* a;
a = "aaa";

这是怎么回事?

既然 char 类型只存储一个字符或 1 个字节数,当您通过指针访问它时,如何在其中存储更多字符?

最佳答案

您没有将字符放入 char* 中。您正在编译器确定的内存部分中创建一个字符数组,并将 char* 指向该数组的第一个字符。

数组实际上是 const,因此您不能将其分配给非 const 指针。但由于历史原因,你仍然可以在许多 C++ 实现中。然而,它在 C++11 中被正式定为非法。

关于c++ - 为什么可以在 C++ char* 中放入多个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19944209/

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