我最初的任务是:给定一个数字文件,我必须找到满足特定条件的所有对(一对只是 2 个数字;它们不能连续)。 为此,我决定创建一个数组来存储所有数字。 我有一个 ~11000 KB 的数字文件(数字的数量是 ~1,5*10^9),我需要从文件中读取所有数字并将它们存储在一个数组中。 文件中的数字是这样 ...
ptr = (char *)realloc(ptr, n * sizeof(char)); }我试图获取三个人的 ID,但该程序无法正常工作,在接受输入后它就退出了:(。当我使用 realloc 一次但不是两次时它工作正常,有人可以解释为什么吗?它接受输入然后退出 ...
我创建了一个结构数组(初始的calloc ,后续“元素”的realloc )。 重新分配/初始化由使用fgets从文本文件中读取的每一行触发。 我的问题是我希望创建一定数量的结构数组元素,但实际上我最终得到的数量是原来的两倍。 每个第二个元素的数据都正确存储,每个其他元素都存储空数据和/或错误数据。 ...
经过长时间的休息后,我又回到了 C 语言中,一如既往,问题在于指针的使用和一般的内存管理。 我的具体问题源于在结构上使用 realloc 以便根据需要将其动态增长为数组。 我以前从未真正使用过结构数组,所以我提前道歉。 注意:到目前为止,我还没有向结构数据字段添加任何数据。 出于本示例的目的,我还将 ...
我想重复一个字符串 - 例如你好 - 对于特定数量的 imes - 例如 3 次 - 但它不起作用:) 该示例应如下所示:hellohellohello,但我没有得到 output 或者我得到 HHHHHHHHHHH.. . 这是我的代码: 如果我删除 'ausgabe' 括号中的 'z',我得到 ...
从 calloc 的 linux 手册页,我们了解到: “calloc() function 为每个大小为字节的 nmemb 元素数组分配 memory,并返回指向分配的 memory的指针。memory 设置为零。” 当它设置为零时,表示它已初始化。 然而,valgrind 会报告这个..... ...
我在学校的实验室工作,我们应该实现功能来练习使用链表。 我无法通过 assert(getFirstElement(head) == 2) 因为数据只是垃圾(16040、32030,你懂的)。 当我调试时,数据似乎确实得到了正确启动,只是在我将节点链接到列表中时随机被替换。 下面是我写的分配和启动的函 ...
在下面的示例代码中,在 GDB 下,我想将动态创建的字符串数组视为典型的字符串数组: 在 GDB 中,有没有办法将 word_list 转换为字符数组,以便我可以像观看word_list2一样观看其内容: word_list1,一个动态创建的 2 x 21 字符串数组,以这种方式查看时显示乱码 ...
我有这个矩阵初始化 function 我需要:我可以毫无问题地生成它但不能将其所有值初始化为 0,无论是使用calloc还是通过矩阵元素循环。 function如下: 如果上下文需要,整个代码是这样的: 我以为我现在已经很好地掌握了这样的东西,但事实并非如此,所以我一直卡了一段时间。 如果可能的话 ...
我有一个程序应该返回一个指向我在 memory 中的学生的指针数组。 我的程序第一次按预期工作时,第二次运行时(我调用该操作有 3 个时间循环),我在编译器没有任何解释的情况下崩溃。 我真的很感激解释为什么会发生这种情况。 我在这里调用 function :(这个程序是从另一个调用它 3 次的 fu ...
我有两种情况,在这两种情况下,我都分配了 memory 的 78*2 sizeof(int) 并将其初始化为 0。性能方面有什么不同吗? 情景一: 场景 B: 我认为在性能方面,如果需要初始化数组,最好使用 calloc,如果我错了,请告诉我 ...
我偶然发现了 memory 分配的问题。 我正在编写一个简单的应用程序,它应该读取文件并从中获取信息。 它应该非常简单(单线程)所以我想知道如果malloc()或calloc()失败我该怎么办? function 应该exit()程序并显示一些错误消息还是返回NULL (或其他适当的返回值)并尝试 ...
我想编写一个重载版本的 malloc 来保存结构中分配内存的大小、类型和指针。 如果我有一个这样的结构: 如果我像这样定义 malloc 的重载版本: 并像这样实现 xmalloc : 那么如何从代码中的标准 malloc 使用中获取内存类型,应该是这样的: 例如:ptr = (in ...
我定义了一个数组,并尝试使用realloc()调整大小,但它不起作用。 我的问题是我可以使用arr[]来做到这一点,还是必须先使用calloc()或malloc()来定义数组,然后再使用realloc() ? 这是我到目前为止的工作...... ...
以下代码是不言自明的。 指针 p 从主函数发送到函数 f()。 在 f1() 函数内部,值更改为“a”,同样反映在函数 main() 中。 以下代码也适用... 但是在下面的两个代码示例中,我尝试使用 NULL 指针来实现相同的效果,但是我得到了分段错误,而不是预期的结果“a”。 代码编号 ...
我正在尝试实现一个拆分函数,它接收一个字符数组和一个分隔符,该分隔符将决定拆分数组中每个数组的字符。 我对 strcat 和 memset 有疑问,有人可以向我解释我的错误吗? ...
我对编码并不陌生,但我遇到了一个我无法向自己解释的问题。 如果我编译它, test会被分配并直接释放(我所期望的)。 但是如果我取消注释注释,我会在编译时收到此错误: 当我删除free功能时,它会再次工作。 我现在的问题是:为什么释放一个初始化的指针是个问题? ...
所以我有一个创建灵活数组类型的函数,所有路径都使用 calloc 来定义数组的大小。 但是,当我尝试销毁该结构时,它说未分配内存。 确切的错误是: flexibleArray(63110,0x10c3c6600) malloc: *** 对象 0x600000c21120 的错误: 被释放的 ...