用于重新分配动态分配的内存区域的C库函数。
我正在从 KandR C 编程书中做一个有趣的练习。该程序用于从用户输入的一组行中找到最长的行,然后打印它。 这是我写的(
第一次提问,请多多指教:) 我必须编写一个程序,能够接收成绩文件,读取它们,然后提供一些选项来编辑该文件。我决定写...
在 C 中使用 realloc 时出现问题 - 未获得预期的内存量
第一次提问,请多多指教:) 我必须编写一个程序,能够接收成绩文件,读取它们,然后提供一些选项来编辑该文件。我决定写...
我怎样才能像无限指针数组(没有长度限制的指针)一样创建双指针(char **ptr)?
抱歉我的英语不好。我在学校有一个练习。我需要教我的朋友在 C 中使用指针。所以我想向他们讲述双指针(类型 **ptr)。我尝试写一篇合作...
我是一名计算机科学专业的学生,其中一个测试问题要求使用 malloc 在 C 中实现 realloc。我的老师说正确的答案是获取前一个数组的 sizeof 和
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)); 工人->项目[工人->项目计数]->名称=项目->...