malloc 相关问题

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

尝试理解 C 中的“被释放的指针未分配”错误

所以这个错误是不言自明的,但我不明白我是如何得到它的。我做了 malloc,现在又抱怨了 free。 我正在尝试为自己构建一个地图/哈希表。我对 C 很陌生,但不是

回答 1 投票 0

在初始函数之外使用指针或 Malloc 时出现问题

我正在开发这个项目,该项目要求调用输入并在单独的显示函数中输出它们。对于我的一生,我无法理解是什么导致了这个代码段中的问题。我的...

回答 1 投票 0

C++头文件改变程序中断

我不明白为什么这段代码会打印不同的程序中断 #包括 #包括 #包括 #包括 #包括 #

回答 1 投票 0

如何释放C中链表中动态分配的内存

我尝试在C中实现一个链表,由于没有释放一些malloc的变量,我遇到了一些内存泄漏。我不确定何时以及如何释放它们,因为我无法在你之前释放它们......

回答 1 投票 0

无法从我的 main 函数中访问使用 malloc 分配的内存

据我所知,在函数中使用 malloc 分配内存允许您在 main 中使用该内存,直到您手动释放它。我有一个函数可以读取 MNISTI 图像文件并创建矢量...

回答 1 投票 0

Malloc 和对齐

据我所知,每种类型(例如 int)只能存储在以 2 的幂开始的内存地址。现在我的问题是,malloc 如何应对这个要求?例如,如果我打电话 ...

回答 1 投票 0

使用malloc定义字符串地址

运行此代码时没有任何输出。我期望使用大写值写入文件,并将大写值打印到屏幕上。 #包括 #包括 运行此代码时没有任何输出。我期望使用大写值写入文件,并将大写值打印到屏幕上。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> int main(int argc, const char * argv[]) { FILE *fP; char *str = "this is an example"; /* Im not sure if this line is right */ str = (char *)malloc(sizeof(char) * 100); fopen("4.txt", "w"); size_t length = strlen(str); for (size_t i = 0; i < length; i++) { /* This line fails */ fprintf(fP, "%c", toupper(*(str +i ))); printf("%c", toupper(*(str +i ))); } return 0; } 您正在运行 fopen() 而不返回 fp ,这只会打开文件流,但不会让它被 fp 引用,您需要将该行更改为 fp = fopen("4.txt" , "w"); 您也在 str 上运行 strlen() ,但由于您分配了内存但没有在其中存储任何内容(之前分配的字符串被覆盖),它将返回一个随机数( malloc() 给出了一个内存块而不清除以前的内存,因此,无论以前使用它的程序都将存储在其中),您都需要使用 strcpy() 将字符串设置到其中,如下所示 strcpy(str , "this is an example"); 如果解决了这两个问题,它应该可以运行。

回答 1 投票 0

来自 Valgrind 日志的 malloc 内存泄漏

我正在做CS50练习:许可证。这段代码是从txt文件中读取车牌并打印出来。 有人可以帮我知道为什么我的代码仍然存在内存泄漏吗? 我仍然收到...

回答 1 投票 0

为什么malloc不malloc?

这里用一个C程序来介绍这个问题。 #包括 #包括 #包括 int main(int argc, char *argv[]) { 如果(参数!= 2){ printf("

回答 1 投票 0

我需要c

#包括 #包括 typedef int 数据类型; typedef 结构 singleLinkedList { 数据类型数据; 结构 singleLinkedList *下一个; }节点; typedef 节点 *linkList; 无效

回答 1 投票 0

MISRA C 建议不要使用 malloc,这是否意味着 calloc 更安全?

我已经使用C几年了,但最近才认真努力地理解未定义的行为和C内存泄漏的陷阱等。这是因为现在我在某些地方多次使用calloc...

回答 1 投票 0

可以使用初始或终端 malloc 缓冲区吗?

假设我做了如下事情: size_t长度=1000; char* p = malloc(长度); 然后我想循环遍历元素,所以最基本的是: 对于 (size_t i = 0; i < length; ++i) { p[i...

回答 1 投票 0

如何为结构体中的动态结构体数组分配内存?

我有以下结构,我正在尝试为下面的结构区域分配空间。 目前,我将该区域的空间分配为: 区域 *区域 = (区域*)malloc(sizeof(区域) + (大小...

回答 1 投票 0

Leetcode链表二第142题,解法错误,但为什么能成功?

这是我在leetcode中写的代码我知道它的实现是错误的,但是为什么会这样呢? struct ListNode *detectCycle(struct ListNode *head) { struct ListNode *cur = h...

回答 1 投票 0

计算 malloc() 和 realloc() 大小的正确方法?

我见过 malloc() 和 realloc() 使用了很多不同的方式。在测试了各种方法之后,我很好奇我是否正确使用了它们? 首先我尝试过 int 大小 = rowSize * colSize...

回答 2 投票 0

重新分配先前分配的指向 SIZE_MAX 的指针不会设置 ENOMEM,但重新分配 NULL 可以吗?

问题: 我正在努力重写一些 malloc 函数(malloc、calloc、realloc 和 free),并且我决定实现一些单元测试,希望能让自己的事情变得更容易一些...

回答 1 投票 0

链接列表在第二次迭代期间打印符号而不是单词

我是 C 语言的初学者,所以我知道我的代码可能看起来很糟糕。我想做的就是创建一个链表,其中包含一个包含字符数组和频率整数的结构。它读取的行来自...

回答 1 投票 0

“释放”由“malloc”返回的指针总是安全的吗?

我的理解是,允许使用调用 malloc 返回的指针来调用 free(或任何其他返回指向堆上动态分配的内存的指针的函数,例如 strdup...

回答 1 投票 0

在C中返回char *时如何避免内存泄漏?

我有一个类似 C 语言的代码库,其中有一个需要返回 char * 的函数。有没有办法修改此代码,以便我可以返回 char * 而不会像这里一样导致内存泄漏?油嘴滑舌是

回答 1 投票 0

当 LC_CTYPE 设置为 C.UTF-8 时,Bash 在 Valgrind 中崩溃

Bash 5.2 由于 malloc 中的断言失败而崩溃,但仅当在 Valgrind 中运行且仅当设置 LC_CTYPE 时才会崩溃。这是一个示例输出: $ 路径/to/env - foo=bar LC_CTYPE=C.UTF-8 路径/to/valgrind

回答 1 投票 0

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