我不像C++那样熟悉C,但我发现自己需要调试C应用程序,甚至成功后,但我不确定我的修复是否确实正确.
这是一个代码:
FcValueList **value = NULL;
value = (FcValueList **) malloc (SIZEOF_VOID_P * nobjs);
// other code...
if (value)
free (value);
Run Code Online (Sandbox Code Playgroud)
所述FcValueList是一个结构和SIZEOF_VOID_P是尺寸void指针的.上面的代码不起作用,因为值 "无法读取内存"
所以我应用了以下修复程序,代码使用app退出0:
value = (FcValueList **) malloc (SIZEOF_VOID_P * nobjs);
// other code...
if (*value)
free (value);
Run Code Online (Sandbox Code Playgroud)
我的修正是否正确?如果不是什么会是正确的呢?
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |