gpt4 book ai didi

c - 执行 "free(ppMapData[i])"时我的程序会崩溃吗?

转载 作者:太空宇宙 更新时间:2023-11-04 05:01:50 25 4
gpt4 key购买 nike

我尝试制作一个 char 的动态二维数组,如下所示:

char** ppMapData = (char**)malloc(sizeof(char*)*iMapHeight);
for (int i=0; i< iMapHeight; i++)
{
ppMapData[i] = (char*)malloc(sizeof(char)*iMapWidth);
//do something
}

// do something

for (int i=0; i<iMapHeight; i++)
free(ppMapData[i]);
free(ppMapData);

我觉得还不错;然而,在运行时,我的程序在调用 free(ppMapData[i]) 的那一行崩溃了。任何想法这里有什么问题。非常感谢。

最佳答案

快速浏览一下,免费版看起来不错。您应该测试的下一件事是确保您没有在最后超过这些数组中的任何一个。这可能会导致内存分配系统出现问题。

如果您使用的是 visual studio,您可以调用 _CrtCheckMemory 来帮助验证您没有在丢弃东西。该调用仅适用于 DEBUG 版本。

关于c - 执行 "free(ppMapData[i])"时我的程序会崩溃吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/361115/

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