gpt4 book ai didi

c - Realloc 导致错误(堆 block 超过请求的大小...)

转载 作者:太空宇宙 更新时间:2023-11-03 23:46:29 25 4
gpt4 key购买 nike

<分区>

我正在尝试创建一个对动态字符串执行某些操作的程序。下一个方法应该将 myString 设置为空字符串。

每当我尝试使用字符串重新分配()结构时(就像在仅为演示目的添加的代码行中一样)它会导致错误:

位于 0000000000541E80 的堆 block 已在 0000000000541E91 处修改为过去请求的大小 1。

是什么导致了这个问题?我几周前才开始学习 C,所以请不要使用高级术语。

struct _MyString
{
char* myString;
};


MyString * myStringAlloc()
{
MyString *newMyString = (MyString*) malloc(0);
if(newMyString == NULL)
{
return NULL;
}
newMyString->myString = "";
newMyString = (MyString*) realloc(newMyString, 4);
//some more code
return newMyString;
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com