用于重新分配动态分配的内存区域的C库函数。
Realloc 失败,但仅当使用 printf 语句时:“下一个大小无效”
我正在尝试为C编写一个ThreadPool库;主要用于教育目的,但也可能用于以后的实际使用。 我有一个“有效”的实现,因为我可以启动......
如何在 C++ 中重新分配?语言中似乎缺少它 - 有新建和删除,但没有调整大小! 我需要它,因为当我的程序读取更多数据时,我需要将缓冲区重新分配给 hol...
如果将数据移动到不同的块,C++ realloc 函数是否会对旧数据块进行删除操作?
该函数可能会将内存块移动到新位置,在这种情况下返回新位置。 例如我有一个指向数组的指针: int *arr; // 接下来的某个地方它被初始化,填充了...
如何轻松区分 C 中 * 作为指针、* 作为解引用运算符、* 作为乘法运算符的使用?
* 的使用非常令人困惑,尤其是对于我们 C 语言的新手来说。我的意思是,如何轻松区分 * 作为指针、* 作为取消引用运算符、* 作为乘法运算符的使用? ...
根据 C23 的变更日志,提案 n2464 被投票并实现,使得 realloc(ptr, 0) 显式地未定义行为,而它在之前的
据我所知,realloc 应该进行更大/更小的分配并复制此处提供的数据。我正在制作一个 sprisheet atlas 解析器并遇到了这个,然后用一个非常简单的方法重现了它......
我正在编写一个应用程序,它生成一堆 n 个字符串(位)长度 l,然后在所有可能的对之间进行比较。 我首先为n个长度为l的字符串分配内存 char* pStr = (c...
以下代码出现错误:“munmap_chunk():无效指针”
使用命令编译了以下代码片段:gcc -g -std=c99 src.c src.c: #包括 #包括 无效填充(int * arr,int len,int val){ 对于 (int i = 0; i <...
每当我尝试运行我编写的这段代码时,它第一次就可以正常工作。第二次,执行在最后挂起(它执行了函数中的所有内容,但从未退出函数......
我有两种代码变体: 第一: void PrintMem(const int* memarr,const size_t 大小) { 对于 (size_t 索引 = 0;索引 < size; ++index) { std::cout << '<'<<(index+1)<<...
为什么 realloc() 在为 C++ 编译时表现出奇怪的不同?
我有以下函数,我之前在 C 程序中使用过很多次: /** 使用给定分隔符将给定字符串拆分为字符串数组。 @参数输入字符串
我在使用 realloc() 处理动态内存分配时,在 C 程序中遇到了一个令人费解的问题
我在读取包含长度指示符和以“|”分隔的字段的记录的文件时遇到问题。在此程序中,我正在阅读有关
#包括 #包括 #包括 #包括 int main() { 字符*s; s = malloc(1024 * sizeof(char)); scanf("%[^ ]”,s...
我正在学习C,但我仍然是一个菜鸟。 我正在编写一个程序作为动态内存分配的练习,该程序从用户那里获取长度未知的文本并返回没有空格的文本,...
void addWorkerToProject(Worker *worker, Project *project) { 工人->项目= malloc(sizeof (strlen(项目)+1)); 工人->项目[工人->项目计数]->名称=项目->...
面临向 C 中的矩阵添加新行的问题。损坏的大小与 prev_size
我正在尝试从头开始开发一个用于各种矩阵运算的线性代数库。我在向矩阵添加新行时遇到问题。我使用列主公式存储矩阵,...
getline、strcat 和 realloc 函数的组合使用
大家下午好!我用 C 语言编写了 cat 实用程序的实现,但遇到了一些问题。这是我的代码: #包括 #包括 #包括 #
我编写了一些代码,在内存使用方面尽可能保守,因此它会执行诸如使用 realloc() 一次构建一个字符的字符串而不是一次性固定长度之类的操作...
“在 tcache 2 中检测到双重释放”重新分配指向动态字符串数组的指针时出错
我编写了这段代码来存储可以执行不同操作的动态字符串数组。当我最初输入字符串和添加 2 个字符串时,它可以正常工作,但是在 t...
为什么我会出现分段错误?当我使用 sanitize=address 进行编译时,我得到了一个我不太明白的堆使用后释放(原因)。 我在地址 xyz 上得到堆释放后使用。 重新...