malloc 相关问题

malloc函数在C中执行动态内存分配,是标准库的一部分。有关malloc的用法,行为和实现的问题,请使用此标记。

为什么在实现对齐的malloc时使用位运算符&和〜而不是数学运算符%?

[在研究Linux操作系统的内存管理时,我看到实现对齐的malloc函数的一般解决方案是以下代码:void * aligned_malloc(size_t ...

回答 1 投票 1

Brown自己的Malloc实现冻结

实际上,我目前正在尝试在c中编写自己的malloc函数。所以我的问题是,从堆中进行一些分配后,我的程序将冻结。我找到了可以......>

回答 1 投票 0

为什么realloc()多次调用时会向动态数组中引入一些随机值?

我正在尝试使用for循环填充动态生成的数组,并在需要时使用realloc()使它更大。但是,当在内存上多次调用realloc时,它将替换某些...

回答 1 投票 0

malloc使用什么系统调用?

我正在研究内存管理,并对malloc的工作方式有疑问。 malloc手册页指出:通常,malloc()从堆中分配内存,并调整堆的大小...

回答 2 投票 2

malloc(0)的意义是什么?

我刚刚看到了这段代码:artist =(char *)malloc(0); ...而且我想知道为什么要这样做吗?

回答 17 投票 118

Malloc和指针

我试图理解我在YouTube上找到的一个代码。我知道malloc的工作方式,但我不了解此代码的工作方式。他指向堆中的第一个元素,并为...

回答 1 投票 0

删除结构节点导致另一个问题

我正在尝试在结构中添加两个文件的单词(可能更多)。这可行。但是我可以选择从结构中删除一些单词(在stop.txt中)。这会导致错误...

回答 1 投票 0

在glibc <= 2.23中,为什么在互斥锁宏中使用'0;`?

对于glibc <= 2.23,看起来malloc的Mutex_lock宏的通用定义使用int作为互斥量。 1表示正在使用,0表示免费。它定义了以下通用宏集:typedef int ...

回答 1 投票 2

链表C中的内存管理

我正在尝试实现表示文件夹树的链表数据结构。下面的结构:typedef struct SRC_ERROR SRC_ERROR; struct SRC_ERROR {int error_code; char * error; ...

回答 1 投票 0

指向另一个结构的结构

我正在尝试从一种结构指向另一种结构,以便为传入的每个文件制作words_list的链接列表,但这不起作用。例如,起初只有一个文件。之后...

回答 1 投票 0

[mktime()使用通过malloc创建的传递参数时的奇怪行为

下面我有四个功能。 first()和second()仅初始化结构tm的年,月和日。 first_p()和second_p使用malloc分配内存,然后分配year,mon和mday。全部...

回答 1 投票 0

为结构化指针分配内存

最近正在通过此练习进行处理:计算数组中每个元素的大小。创建一个函数my_count_on_it,该函数接收一个字符串数组作为参数,并返回一个数组,其中包含...

回答 1 投票 1

我们何时应该在char数组(char [])上使用char指针(char *)?

在任何情况下,一种类型优先于另一种类型吗?我唯一想到的是...指针使用4个字节,而char数组的大小取决于字符串的长度,所以如果...

回答 2 投票 0

C-动态分配3维数组的功能(使用malloc)

我创建了此函数来动态分配3D数组。 int *** create_3D_Array(int nb_block,int nb_lin,int nb_col){int i,j; int *** A =(int ***)malloc(nb_block * sizeof(int **)); ...

回答 1 投票 0

检测到堆损坏的Malloc()Free()

为什么我会收到错误消息“检测到堆损坏:正常块(#187)在0x处...” #include #include 使用命名空间std; void readArray(int * a,size_t nElem)...

回答 1 投票 0

在变量中使用Malloc

因此,我的教授在Malloc上花了5分钟,现在我们必须在项目中使用它,但是我真的很困惑。我们应该为一个数组分配内存。我知道Malloc然后分配内存...

回答 1 投票 0

当函数返回其值时释放malloc

我具有以下功能:char * lsl(){chdir(“ / Users / some / directory”);文件* fp;如果((fp = popen(“ ls -l”,“ r”))== NULL){perror(“ popen failed”); return(char *)...

回答 1 投票 0

解除分配pcl :: PointCloud :: Ptr ]时的分段错误>

我有一个可以成功读取点云并将其存储在pcl :: PointCloud :: Ptr pcd中的函数,然后运行//过滤点云以除去一些噪音,同时仍然保持...

回答 1 投票 0

[内存泄漏,如何释放此malloc? CS50

bool check(const char * word){int length = strlen(word); // char的malloc大小乘以字长加上\ 0 char * lower_case = malloc(sizeof(char)*(length +1)); lower_case [length + ...

回答 2 投票 0

C:链接列表和free()-错误示例?

研究Prata的C Primer Plus,第6版,我遇到了清单17.2的链接列表示例,该示例复制在本文下方。我对他释放内存的部分感到困惑...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.