问题标签 [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.
malloc - 当 malloc 失败时 calloc 返回成功
是否存在malloc
失败,而calloc
返回成功的情况。假设我给出malloc(20)
并且calloc(4*5)
,是否存在任何malloc
可能失败和calloc
成功的场景。如果是这样,确切的原因是什么。
c - 在字符串缓冲区对象中手动分配
对于一个小型的嵌入式应用程序,我编写了一些函数 + 结构作为字符串缓冲区(类似于 C++ 中的 std::stringstream)。
虽然这样的代码工作正常,但有一些不那么小问题:
- 我以前从未在 C 中编写过手动分配和使用不断增长的内存的函数,因此恐怕仍有一些怪癖需要解决
- 看起来代码分配的内存比它实际需要的多得多,这是非常糟糕的
- 由于 valgrind 报告的警告,我已经从代码中的一个地方切换
malloc
到calloc
了,这成功地删除了警告,但我不完全确定我是否真的正确使用它
我的意思是它分配的比它真正需要的多的例子(使用 56k 文件):
......它看起来不正确......
有问题的代码在这里(太大而无法<code>
在 SO 的字段中复制):http ://codepad.org/LQzphUzd
需要帮助,我很感激任何建议!
null - 卡洛克简单问题
我已经阅读了 calloc 的手册,需要一个快速而简短的答案,为什么它输出 NIL?它转到else,所以lw不可能是NIL,然后输出“已分配(nil)”?上帝之手?;)
c - 为什么 calloc 有两个参数,而 malloc 只有一个?
IMO 一个就足够了,为什么calloc
需要将它分成两个参数?
c - 在同一个指针上重复调用
当我在同一个指针上使用不同的连续 calloc 函数时会发生什么?
其中 X,Y,Z 是三个不同的值。
malloc - glibc calloc 实现的解释,即 public_cALLOc( )
在 glibc malloc.c for calloc() (准确地说,public_cALLOc())实现中,当它尝试以两种方式将它正在执行的内存归零时,如果字节数大于 36,则立即调用 memset()否则,它会专门按字节放置 0,如下所示:
glibc-2.13/malloc/malloc.c
问题是,为什么我们不直接对所有人做memset(),这个区别有什么需要。
谢谢,卡皮尔
c - 什么时候应该释放动态分配的内存?
本质上,我创建了一段由树组成的代码,其中每个树节点都有自己的包含数据的链表(每个 treeNode 也包含数据)。这样每个 treeNode 就可以为该特定 treeNode 拥有多个数据项。
因此,为了创建这个结构,我调用一个树节点,将该树节点的地址传递给一个 createListNode 函数,然后调用一个 ListNode。我的困惑真正源于,我究竟应该在哪里释放内存?仅在程序结束前返回 0;在主要或其他地方。记住,一旦将所有输入添加到树和列表中,它就会向用户询问名称,并显示适合该名称的数据链接列表。
干杯。
TC
编辑:
c - 正确分配结构的内存
以这种方式定义结构后,我需要分配内存
所以我带着这个代码来了,是对的还是我错过了什么?首先分配结构描述符,然后为指向字符串的 d 指针分配足够的空间
c - 了解 malloc 和 calloc 的用途
我试图了解 C。通读 K&R,我来回浏览,试图找到它说明我应该动态获取内存块的情况。
例如,我想要一个 int 指针。
但随后 K&R 表示我可能想做:
本质上,我在这里做了什么不同的事情?在第一种情况下,我创建了一个指针,它还没有指向任何东西,所以我猜如果计算机内存不足,我尝试将它指向一个 int 值我会遇到问题。第二种情况为我的指针保留空间。所以我不必担心我的程序有很多内存问题。它是否正确?如果这是正确的,我不应该为我创建的每个指针使用 malloc(或 calloc)吗?只是为了确保我的程序有更少的问题?
c - calloc、malloc 和动态结构分配
我正在尝试在 c 中动态分配一个结构数组,以便我可以像进行静态声明一样引用它们。我知道 calloc() 执行将所有分配的内存初始化为 0 的附加步骤。但是,除此之外,以下代码是否可以完全互换 2?如果我使用 fread() 和 fwrite() 将这些数据结构进出文件,那么 calloc() 会帮助还是阻碍呢?
谢谢你。