169得票1回答
为什么《C语言程序设计》这本书说我必须使用强制类型转换来调用malloc函数?

今天,我阅读了《C语言程序设计(第2版)Brian W. Kernighan & Dennis M. Ritchie》的第167页,发现作者说我必须在使用 malloc 函数时进行类型转换。以下是书中相关部分: 7.8.5 存储管理 malloc 和 calloc ...

160得票18回答
malloc(0)的意义是什么?

我刚刚看到了这个code:。 artist = (char *) malloc(0); ...我在想为什么会有人这样做呢?

133得票3回答
malloc()函数的内部实现原理是怎样的?

有没有人能够解释一下 malloc() 内部的工作原理? 我有时会使用 strace program,并且会看到很多 sbrk 系统调用,在执行 man sbrk 命令时可以了解到它在 malloc() 中被使用,但是没有更多的信息。

120得票3回答
分配二维数组的奇怪方式?

在一个项目中,有人推动了这一行代码:double (*e)[n+1] = malloc((n+1) * sizeof(*e)); 据说这会创建一个(n+1) * (n+1)个双精度二维数组。 我说“据说”,是因为到目前为止,没有人能告诉我这究竟是什么,它的起源在哪里,为什么它应该工作(据说它确...

115得票5回答
为什么每次使用malloc时都会收到警告?

如果我在代码中使用 malloc:int *x = malloc(sizeof(int)); 我从gcc收到了这个警告:new.c:7: warning: implicit declaration of function ‘malloc’ new.c:7: warning: incompa...

112得票8回答
为什么我会遇到C语言malloc断言失败?

我正在实现一个分治多项式算法,以便将其与OpenCL实现进行基准测试,但我无法使malloc正常工作。当我运行程序时,它会分配一些东西,检查一些内容,然后将size/2发送到算法中。然后当我再次执行malloc行时,它就会输出以下错误:malloc.c:3096: sYSMALLOc: Ass...

112得票8回答
Malloc和new的区别——不同的填充方式

我正在为使用MPI进行高性能计算(10 ^ 5-10 ^ 6个核心)的项目审核别人的C ++代码。该代码旨在允许不同架构上的(可能)不同机器之间的通信。他写了一条注释,大致意思是: “我们通常会使用 new 和 delete ,但在这里我使用 malloc 和 free 。这是必需的,因为某...

102得票2回答
在C++20之前,使用malloc分配int类型内存是否未定义行为?

我被告知在C++20之前,以下代码存在未定义的行为:int *p = (int*)malloc(sizeof(int)); *p = 10; 那是真的吗? 争论的焦点在于在给 int 对象赋值之前,它的生命周期尚未开始 (P0593R6)。为了解决这个问题,应该使用放置 new:int *p ...

97得票4回答
jemalloc是什么?它是如何工作的?有哪些好处?

Firefox 3带有一个新的分配器:jemalloc。 我在几个地方听说过这个新的分配器更好。但是,最高排名的谷歌搜索结果没有提供更多信息,我对它的工作原理感兴趣。

96得票6回答
何时以及为什么要使用malloc

嗯,我不明白何时以及为什么需要使用malloc来分配内存。 这是我的代码:#include <stdlib.h> int main(int argc, const char *argv[]) { typedef struct { char *name; ch...