c++ - 在 C 或 C++ 中释放内存

标签 c++ c

让我们声明一个指针

int *ptr;
ptr=malloc (10 *sizeof (int));
free (ptr);

问题是如何free()将释放内存。让int int 为 4 个字节,内存将为 40 个字节。 编译器将理解删除 malloc 提供的第一个内存位置。但是它如何清除另外 36 个字节的另外 9 个 int 数据呢?

最佳答案

malloc 留下 free 读取的注释。特别是,它留下了一条注释,说明分配了多少字节。

关于c++ - 在 C 或 C++ 中释放内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34556519/

相关文章:

c++ - 有没有办法在不手动查找的情况下获取数组的大小?

java - 套接字编程 - write() 从 Java Servlet 到服务器 C 的固定字节数

c - 使用指针将一个字符串复制到另一个字符串的程序不产生任何输出

c++ - 积分推广与运营商+=

c++ - 在析构函数中删除指针和映射

c++ - 为什么 8 位字符串文字可以包含多字节字符,而 char vector 不能?

c - 将 memcpy 与 mmap 一起使用的问题

c++ - VS2010 C++ 并发运行时 - 如何强制单线程模式?

c - 循环显示菜单永无止境

c++ - posix 中的健壮 rwlock