首页 文章
  • 1 votes
     answers
     views

    重新分配内存时“无效的下一个大小”异常

    P.S.: 我几乎有"invalid next size"的所有问题,但他们没有帮助我,因为我没有另外一段代码可以使用malloc或realloc,所以这是排除在外的 . 另外,我没有超出内存空间的限制,所以我也很好 . 我有以下代码给我 - *** Error in ./server_issue':realloc():下一个大小无效:0x08249170 ***` . ...
  • 0 votes
     answers
     views

    C中的内存分配错误

    我试图在GMP中获得一个大整数的二进制表示 . 我将1 's and 0'存储在一个名为 expBinary 的数组中 . 我使用malloc来分配大小为"int"的内存,然后在添加新位时使用 realloc 来增加此内存 . 转换运行完美没有任何问题,但是当我尝试在while循环后使用malloc分配更多的内存时,它给我 segmentation fault 当我调用相同的代...
  • 0 votes
     answers
     views

    在c中结构中动态分配内存

    我正在尝试创建两个列表,优点和缺点,然后打印它们 . 但我无法弄清楚我做错了什么 . 我尝试使用gdb在线调试程序,我发现错误在函数fgets()中 . #include <stdio.h> #include <string.h> typedef struct list{ char ** reason; } list; void printMenu(); void...
  • 1 votes
     answers
     views

    如何为C中的字符串数组动态分配内存?

    我在C中阅读了以前关于动态数组的问题但是我无法将答案与我的问题联系起来 . 我使用fgets从 stdin 获取命令,删除换行符然后想要在动态分配的字符串数组中存储由空格分隔的每个命令 . 然而,我在分配和重新分配内存的正确方法上遇到了很多麻烦 . 我正在编译 clang 并继续得到分段错误11.然后我使用 -fsanitize=address 并继续获取: == 2286 ==错误:Addre...
  • -7 votes
     answers
     views

    Malloc,Realloc,Memset:struct指针,char数组,int

    #ifndef vECTOR_h #define vECTOR_h #include<string.h> #include<stdio.h> #include<stdlib.h> /* My iterator is an int but thanks to this typedef I could change it easily */ typedef in...
  • 1 votes
     answers
     views

    realloc如何处理使用calloc分配的内存?

    当我们尝试使用 realloc 调整 malloc 分配的内存时,我们通常会这样做: char *ptr = (char *)malloc(size_1); ptr = (char *)realloc(ptr, size_2); 如果 size_2 可能大于或小于 size_1 . 如果新大小较大,则旧数据不会丢失,并且新分配的字节未初始化 . 如果旧地址没有足够的内存来连续存储所有字节, p...
  • 0 votes
     answers
     views

    C编程:如何在此程序中使用realloc?

    我必须编写一个程序来存储和打印内存中的整数 . 我必须使用realloc . 基本上,程序分配2个整数的大小 . 当输入给出2个整数时,它应该重新分配1个int的空间并打印出double . 接下来,当输入给出3个整数时,它应该为int分配2个空格并打印出double ..依此类推 . Test cases: input file in.0: ------ 4 ------ expected ...
  • 1 votes
     answers
     views

    C re-alloc / malloc替代方案

    我有一块内存,我想重新分配到不同的大小,但我不关心内存是否被丢弃 . 释放()内存然后malloc()一个新的内存块,或者realloc()是否更快? 我认为任何一种解决方案都不是最佳的,因为需要执行额外的工作 . 我认为realloc()在定位足够大的内存块方面更快,因为当前片段可能大或小到足以容纳新的内存块 . 但是,如果片段不够大,它必须复制malloc()没有的内存 . 我正在使用Linu...
  • 6 votes
     answers
     views

    内存不会重新分配

    我'm in the middle of a project and I'我试图使用 malloc() 和 realloc() . 我知道当我使用malloc时,它可以正常工作,但是当我使用realloc时,它总是没有't change the amount of alloced memory at all. I'总是会重新分配你已经被malloced的内存 . 这是我有的: 这包括: #inc...
  • 2 votes
     answers
     views

    使用malloc创建一个int *,然后在完整时使用realloc

    在我创建的函数中,我试图动态分配一个int数组来存储一些索引值 . 首先,我使用malloc函数创建int *,然后让循环存储som值并每次递增指针 . 当我尝试使用realloc来增加内存分配时,我运行的问题开始了 . 当我这样做时VS告诉我它运行到未定义的行为并打破程序 . 代码看起来像这样 void showAvailable(CabinHolder *holder, Booking *bo...
  • 21 votes
     answers
     views

    对齐内存管理?

    关于管理对齐的内存块,我有一些相关的问题 . 跨平台的答案是理想的 . 但是,由于我非常确定不存在跨平台解决方案,因此我主要对Windows和Linux以及(在很大程度上)Mac OS和FreeBSD感兴趣 . 's the best way of getting a chunk of memory aligned on 16-byte boundaries? (I'了解使用 malloc()...
  • 1 votes
     answers
     views

    具有不同大小结构的struct array的malloc()

    如果每个struct包含一个大小不一的字符串数组,那么malloc如何正确地构造一个结构数组? 因此,每个结构可能具有不同的大小,并使其无法实现 realloc(numberOfStructs * sizeof(structName)) 后 malloc(initialSize * sizeof(structName) 如何为此分配内存并跟踪发生的情况?
  • 0 votes
     answers
     views

    在C中实现malloc,realloc,free时出现段错误

    我正在实现一个简单版本的malloc,realloc,并且可以免费进行分配并且无法进行调试 . 我的代码似乎适用于malloc,但realloc测试导致了seg错误 . 具体来说,传递给free()的指针似乎是个问题 . 有一个“空闲列表”来管理以前分配的内存块列表 . 此列表中的每个节点都维护下一个和前一个块,以及一个int free,当内存可用时设置为1,否则为0 . void *mm_mal...
  • -2 votes
     answers
     views

    通过动态分配空间在套接字上recv()

    我'm trying to get the source code of my website using c, I'能够连接和一切,但是当我实现recv()代码时,它只接收源代码的最后几个字节 . 我想为缓冲区动态分配空间,以便使用C函数 malloc 和 realloc 接收更多空间 . 这是我到目前为止的代码: char *buffer = NULL; unsigned int i = 0;...

热门问题