问题标签 [calloc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
439 浏览

malloc - 当 malloc 失败时 calloc 返回成功

是否存在malloc失败,而calloc返回成功的情况。假设我给出malloc(20)并且calloc(4*5),是否存在任何malloc可能失败和calloc成功的场景。如果是这样,确切的原因是什么。

0 投票
4 回答
295 浏览

c - 在字符串缓冲区对象中手动分配

对于一个小型的嵌入式应用程序,我编写了一些函数 + 结构作为字符串缓冲区(类似于 C++ 中的 std::stringstream)。

虽然这样的代码工作正常,但有一些不那么小问题:

  • 我以前从未在 C 中编写过手动分配使用不断增长的内存的函数,因此恐怕仍有一些怪癖需要解决
  • 看起来代码分配的内存比它实际需要的多得多,这是非常糟糕的
  • 由于 valgrind 报告的警告,我已经从代码中的一个地方切换malloccalloc了,这成功地删除了警告,但我不完全确定我是否真的正确使用它

我的意思是它分配的比它真正需要的多的例子(使用 56k 文件):

......它看起来不正确......

有问题的代码在这里(太大而无法<code>在 SO 的字段中复制):http ://codepad.org/LQzphUzd

需要帮助,我很感激任何建议!

0 投票
1 回答
79 浏览

null - 卡洛克简单问题

我已经阅读了 calloc 的手册,需要一个快速而简短的答案,为什么它输出 NIL?它转到else,所以lw不可能是NIL,然后输出“已分配(nil)”?上帝之手?;)

0 投票
2 回答
4657 浏览

c - 为什么 calloc 有两个参数,而 malloc 只有一个?

IMO 一个就足够了,为什么calloc需要将它分成两个参数?

0 投票
3 回答
471 浏览

c - 在同一个指针上重复调用

当我在同一个指针上使用不同的连续 calloc 函数时会发生什么?

其中 X,Y,Z 是三个不同的值。

0 投票
1 回答
888 浏览

malloc - glibc calloc 实现的解释,即 public_cALLOc( )

在 glibc malloc.c for calloc() (准确地说,public_cALLOc())实现中,当它尝试以两种方式将它正在执行的内存归零时,如果字节数大于 36,则立即调用 memset()否则,它会专门按字节放置 0,如下所示:

glibc-2.13/malloc/malloc.c


问题是,为什么我们不直接对所有人做memset(),这个区别有什么需要。

谢谢,卡皮尔

0 投票
7 回答
221 浏览

c - 什么时候应该释放动态分配的内存?

本质上,我创建了一段由树组成的代码,其中每个树节点都有自己的包含数据的链表(每个 treeNode 也包含数据)。这样每个 treeNode 就可以为该特定 treeNode 拥有多个数据项。

因此,为了创建这个结构,我调用一个树节点,将该树节点的地址传递给一个 createListNode 函数,然后调用一个 ListNode。我的困惑真正源于,我究竟应该在哪里释放内存?仅在程序结束前返回 0;在主要或其他地方。记住,一旦将所有输入添加到树和列表中,它就会向用户询问名称,并显示适合该名称的数据链接列表。

干杯。

TC

编辑:

0 投票
2 回答
237 浏览

c - 正确分配结构的内存

以这种方式定义结构后,我需要分配内存

所以我带着这个代码来了,是对的还是我错过了什么?首先分配结构描述符,然后为指向字符串的 d 指针分配足够的空间

0 投票
4 回答
6130 浏览

c - 了解 malloc 和 calloc 的用途

我试图了解 C。通读 K&R,我来回浏览,试图找到它说明我应该动态获取内存块的情况。

例如,我想要一个 int 指针。

但随后 K&R 表示我可能想做:

本质上,我在这里做了什么不同的事情?在第一种情况下,我创建了一个指针,它还没有指向任何东西,所以我猜如果计算机内存不足,我尝试将它指向一个 int 值我会遇到问题。第二种情况为我的指针保留空间。所以我不必担心我的程序有很多内存问题。它是否正确?如果这是正确的,我不应该为我创建的每个指针使用 malloc(或 calloc)吗?只是为了确保我的程序有更少的问题?

0 投票
2 回答
1391 浏览

c - calloc、malloc 和动态结构分配

我正在尝试在 c 中动态分配一个结构数组,以便我可以像进行静态声明一样引用它们。我知道 calloc() 执行将所有分配的内存初始化为 0 的附加步骤。但是,除此之外,以下代码是否可以完全互换 2?如果我使用 fread() 和 fwrite() 将这些数据结构进出文件,那么 calloc() 会帮助还是阻碍呢?

谢谢你。