realloc 相关问题

用于重新分配动态分配的内存区域的C库函数。

RealLoc函数动态阵列大小超过所述的

#include <stdio.h> #include <stdlib.h> int main() { int n, i, added_data; int *data; printf("Enter the total number of elements: "); scanf("%d", &n); data = (int *)calloc(n, sizeof(int)); if (data == NULL) { printf("Error!!! memory not allocated."); exit(0); } for (i = 0; i < n; i++) { printf("Enter number %d: ", i + 1); scanf("%d", data + i); } printf("Enter number of elements to add: "); scanf("%d", &added_data); if(added_data > 0) { data = realloc(data, added_data * sizeof(int)); for (i=0; i < added_data; i++) { //n++; printf("Enter number %d: ", i + 1); scanf("%d", data + n); n++; } } int new_length = n + added_data; printf("\nnew length of array: %d", new_length); printf("\n"); for(i=0;i<new_length;i++) { printf("%d\n", data[i]); } printf("\n"); free(data); return 0; }

回答 1 投票 0


回答 1 投票 0

使用 realloc 通过结构数组实现高性能

我正在使用 realloc 来调整包含 3 个点 x、y 和 z 的结构数组的大小。 该结构体封装在另一个结构体中,该结构体包含数组、数组的长度和“

回答 2 投票 0

realloc 如何通过 0 大小作为参数来工作

realloc 如何通过 0 大小作为参数来工作? 来自手册页: 除非 ptr 为 NULL,否则它必须有 由先前调用 malloc()、calloc() 或 realloc() 返回。 为什么需要这样? 编译这个...

回答 1 投票 0

realloc() 旧大小无效

我正在从 KandR C 编程书中做一个有趣的练习。该程序用于从用户输入的一组行中找到最长的行,然后打印它。 这是我写的(

回答 6 投票 0

使用 realloc 时出现问题 - 未获得预期的内存量

第一次提问,请多多指教:) 我必须编写一个程序,能够接收成绩文件,读取它们,然后提供一些选项来编辑该文件。我决定写...

回答 1 投票 0

在 C 中使用 realloc 时出现问题 - 未获得预期的内存量

第一次提问,请多多指教:) 我必须编写一个程序,能够接收成绩文件,读取它们,然后提供一些选项来编辑该文件。我决定写...

回答 1 投票 0

我怎样才能像无限指针数组(没有长度限制的指针)一样创建双指针(char **ptr)?

抱歉我的英语不好。我在学校有一个练习。我需要教我的朋友在 C 中使用指针。所以我想向他们讲述双指针(类型 **ptr)。我尝试写一篇合作...

回答 1 投票 0

有没有办法用sizeof()获取动态数组的大小?

我是一名计算机科学专业的学生,其中一个测试问题要求使用 malloc 在 C 中实现 realloc。我的老师说正确的答案是获取前一个数组的 sizeof 和

回答 1 投票 0

Realloc 失败,但仅当使用 printf 语句时:“下一个大小无效”

我正在尝试为C编写一个ThreadPool库;主要用于教育目的,但也可能用于以后的实际使用。 我有一个“有效”的实现,因为我可以启动......

回答 1 投票 0

如何在 C++ 中“重新分配”?

如何在 C++ 中重新分配?语言中似乎缺少它 - 有新建和删除,但没有调整大小! 我需要它,因为当我的程序读取更多数据时,我需要将缓冲区重新分配给 hol...

回答 4 投票 0

如果将数据移动到不同的块,C++ realloc 函数是否会对旧数据块进行删除操作?

该函数可能会将内存块移动到新位置,在这种情况下返回新位置。 例如我有一个指向数组的指针: int *arr; // 接下来的某个地方它被初始化,填充了...

回答 4 投票 0

如何轻松区分 C 中 * 作为指针、* 作为解引用运算符、* 作为乘法运算符的使用?

* 的使用非常令人困惑,尤其是对于我们 C 语言的新手来说。我的意思是,如何轻松区分 * 作为指针、* 作为取消引用运算符、* 作为乘法运算符的使用? ...

回答 1 投票 0

realloc(ptr, 0) - 现在怎么办?

根据 C23 的变更日志,提案 n2464 被投票并实现,使得 realloc(ptr, 0) 显式地未定义行为,而它在之前的

回答 1 投票 0

realloc 将之前分配的部分内存归零

据我所知,realloc 应该进行更大/更小的分配并复制此处提供的数据。我正在制作一个 sprisheet atlas 解析器并遇到了这个,然后用一个非常简单的方法重现了它......

回答 1 投票 0

使用realloc释放小块内存C++是否高效

我正在编写一个应用程序,它生成一堆 n 个字符串(位)长度 l,然后在所有可能的对之间进行比较。 我首先为n个长度为l的字符串分配内存 char* pStr = (c...

回答 1 投票 0

以下代码出现错误:“munmap_chunk():无效指针”

使用命令编译了以下代码片段:gcc -g -std=c99 src.c src.c: #包括 #包括 无效填充(int * arr,int len,int val){ 对于 (int i = 0; i <...

回答 1 投票 0

C 双指针重新分配程序在连续运行两次后挂起

每当我尝试运行我编写的这段代码时,它第一次就可以正常工作。第二次,执行在最后挂起(它执行了函数中的所有内容,但从未退出函数......

回答 1 投票 0

如何为malloc分配的数组释放内存?

我有两种代码变体: 第一: void PrintMem(const int* memarr,const size_t 大小) { 对于 (size_t 索引 = 0;索引 < size; ++index) { std::cout << '<'<<(index+1)<<...

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.