为什么标准C库中没有像realloc()这样不复制数据的函数?

2023-11-25

比如我想要这样一个功能:

char *dst = (char*)malloc(512);
char *src = (char*)malloc(1024);
...
dst = (char*)realloc(dst, 1024);
memcpy(dst, src, 1024);

如您所见,我只是希望函数 realloc() 扩展缓冲区的大小,但 C 库中的 realloc() 可能会从旧地址复制数据。那么图书馆里有没有像我想要的功能呢?


为什么不只是:

free(dst);
dst = malloc(1024);

另请注意realloc可能会移动块并调整其大小,因此保留先前调用返回的旧指针malloc, calloc or realloc可能不再引用同一个块。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么标准C库中没有像realloc()这样不复制数据的函数? 的相关文章

随机推荐

  • 线程安全对象 - 静态还是非静态?

    我最近在接受采访 技术人员问我如何使应用程序线程安全 嗯 解释完之后lock 正确的是 他说让物体保持静态并不是一个好主意 private static readonly object syncLock new object 他声称原因是静
  • 使用 HTML5 数据属性的 CSS 值[重复]

    这个问题在这里已经有答案了 width attr data width 我想知道是否有任何方法可以使用 HTML5 设置 css 值data 属性的设置方式与设置 css 的方式相同content 目前它不起作用 HTML div div
  • JAXB 无法生成 XBRL 的 Java 类

    我正在尝试为 XBRL 中定义的类型生成 Java 类 我的构建过程基于 Maven 2 以下是我的试验 我只粘贴build部分 它依赖于一些属性 package是我的目标包的名称 catalog是目录的路径和文件名 因为我没有互联网连接
  • 以编程方式设置网页的默认缩放?

    是否可以在网站上设置默认缩放级别 例如 我可以编码吗my site比如当用户打开它时它会缩放到 125 我的网站主体有这个代码 如何把这个缩放代码放进去 Add zoom 125 到身体风格 body color 536482 backgr
  • 为什么人们将他们的文件命名为index.html?

    我看到很多人在他们的 HTML 文件中使用这个文件名 我想知道为什么 我对 HTML 有点陌生 我还没有学到太多东西 但是当我命名我的 HTML 文件时 我可以随意命名它们 当我搜索 HTML 示例时 我发现它们将其命名为index htm
  • paypal自适应支付IPN中的自定义字段

    我在我的网站中实施了自适应支付 首先 这是标准付款 所以我通过了custom表单中的参数 我在 IPN 中获取它 但我无法找到如何在自适应支付中传递此参数 Thanks Edit 根据 jackvsworld 在 PayPal Adapti
  • 亚音速快死了吗

    我对使用 SubSonic 很感兴趣 我已经下载了它并且到目前为止我很喜欢它 但是看看 github 和 googlegroups 上的活动 它似乎不是很活跃 看起来很像一个即将消亡的项目 tekpub 上没有关于它的视频 而且 Rob 这
  • 在 Kivy 中显示 numpy 数组

    首先 我对 kivy 完全陌生 所以我有点挣扎 我正在尝试在 kivy 窗口中显示 numpy 数组 到目前为止 我发现这应该使用纹理类 http kivy org docs api kivy graphics texture html 由
  • 在 pytorch 上使用 MC Dropout 测量不确定性

    我正在尝试在 Pytorch 上使用 Mc Dropout 实现贝叶斯 CNN 主要思想是 通过在测试时应用 dropout 并运行多次前向传递 您可以从各种不同的模型中获得预测 我发现了 Mc Dropout 的应用 但我真的不明白他们是
  • java 8 的字数统计

    我正在尝试在 java 8 中实现字数统计程序 但无法使其工作 该方法必须接受一个字符串作为参数并返回一个Map
  • 即时运行无法在 Android Studio 上运行,表示需要 Gradle 版本 2.10。我用的是2.10

    这是我得到的错误 Error Gradle version 2 10 is required Current version is 2 8 If using the gradle wrapper try editing the distri
  • 从右到左文本 HTML 输入

    对于我的网站 我需要提供阿拉伯语支持 其中一部分是提供输入文本框 当用户输入时 新字符必须附加到左侧 并且文本必须右对齐 将 css 属性设置为 text align right 不起作用 因为我无法让光标移至左侧并在那里添加字母 所以我删
  • @Configurable-Beans 无法在 Spring Boot 中与 JPA-EntityListener 一起使用

    我在 Spring Boot 应用程序中创建的自定义 jpa 实体侦听器遇到了一个奇怪的问题 我正在尝试使用弹簧 Configurable配置 EntityListener 的机制 如 Springs 中所示 AuditingEntityL
  • 将浮点数舍入为预定义点的规则网格

    我想将浮点数四舍五入到给定的精度 例如 0 051 i want to convert it to 0 1 0 049 i want to convert it to 0 0 0 56 i want to convert it to 0 6
  • TSQL - 无效的列名行号[重复]

    这个问题在这里已经有答案了 为什么这么说 Invalid Column Name 对于行号WHERE SELECT Id Name ROW NUMBER OVER ORDER BY Id AS RowNumber FROM Folks WH
  • 如何将 UITextView 的“委托”出口连接到实现 UITextViewDelegate 协议的类?

    如何将 UITextView 的 委托 出口连接到实现 UITextViewDelegate 协议的类 我似乎找不到例子在文档中 奇怪的是 UITextView 委托 出口有拖放界面的东西 就像你可以将它连接到另一个小部件但当然 我不想将它
  • 如何在 Kaminari 中为首页设置不同的页面大小?

    我想使用 Kaminari 对许多对象进行分页 但是 在第一页上 我还想显示一条通知 允许查看者创建自己的对象 从而减少可以在该页面上显示的对象数量 然而 指示的页数还应该考虑到该第一页包含较少的元素 假设对象是字母 a 到 z 第一页只能
  • 运行 GCC 预处理器非 C 文件

    我正在使用专有的开发环境来编译用以下语言编写的代码C 以及 IEC 61131 语言 为了C编译时 它使用 GCC 4 1 2 和以下构建选项 fPIC O0 g nostartfiles Wall trigraphs fno asm 编译
  • 使用 RMySQL 连接 MySQL 数据库

    我正在从RSQLite to RMySQL我很困惑user and password字段 FWIW 我正在运行 Windows 7 R 2 12 2 MySQL 5 5 均为 64 位 和 RMySQL 0 7 5 我安装了RMySQL按照
  • 为什么标准C库中没有像realloc()这样不复制数据的函数?

    比如我想要这样一个功能 char dst char malloc 512 char src char malloc 1024 dst char realloc dst 1024 memcpy dst src 1024 如您所见 我只是希望函