gpt4 book ai didi

c++ - 在 malloc 分配的内存之外使用指针的预期行为

转载 作者:太空宇宙 更新时间:2023-11-04 05:26:48 24 4
gpt4 key购买 nike

只是想知道,因为我想不出一种方法来测试它。想象一下我有 10 字节内存的场景

  1. 我用 5 个字节 malloc varA
  2. 分配一个 7 个字符的字符串(占用 8 个字节)
  3. 我用 5 个字节 malloc varB

程序会不会出错?或者只是以乱码的内存结束?

c/c++ 和 cuda 程序的行为是否不同?

最佳答案

这不是内存泄漏,而是缓冲区溢出。这些会导致未定义的行为,这很可能会在运行时给您带来奇怪的问题(甚至崩溃)。

除非你从字面上理解第 2 点,比如

char *str = malloc(5);
str = "foobar";

然后你确实有内存泄漏,不是缓冲区溢出。

关于c++ - 在 malloc 分配的内存之外使用指针的预期行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22435187/

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