gpt4 book ai didi

c++ - 默认动态内存大小

转载 作者:行者123 更新时间:2023-11-28 03:35:06 25 4
gpt4 key购买 nike

我有以下代码:

#include <iostream>`

using namespace std;
int main() {
char* data = new char;
cin >> data;
cout << data << endl;
return 1;
}

当我输入 26 个的 char* 作为字符串文字时,它会编译并打印它。但是当我将 27 个作为数据时,它会中止。我想知道为什么。

为什么是 27?

它有什么特殊的意义吗?

最佳答案

您只分配了一个角色的空间。因此,读取任何超过该数据的数据都会覆盖您不拥有的内存,因此这是未定义的行为。这就是您在结果中看到的。

关于c++ - 默认动态内存大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11147973/

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