作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道如何释放数据库。我的意思是我必须释放linked_data,然后释放数据集,然后释放数据库,或者我可以通过免费使用数据库地址来释放它
最佳答案
让我们考虑一个例子。
char ** cPointer = NULL;
现在,我们将以某种方式分配内存
cPointer = malloc(5 * sizeof (*cPointer )); ------> (1)
for (i = 0; i < 5; i ++)
cPointer[i] = malloc(32); -------> (2)
这里,在情况 (1) 中,我们将内存分配给 cPointer
同样,在情况 (2) 中,我们将内存分配给 cPointer[i]
现在,您可以注意到,情况 (2) 中 malloc()
返回的指针存储在情况 (1) 中 malloc()
返回的指针中.
因此,如果您在释放 cPointer[i]
之前先释放 cPointer
,那么您将无法访问 cPointer[i]
,因此,您无法 free()
为 cPointer[i]
动态分配的内存。这会导致内存泄漏。
所以,解决方案是,首先free()
内部指针cPointer[i]
,然后 free()
外部cPointer
本身。
关于c - 我如何免费包含数据集和linked_data的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27598134/
我是一名优秀的程序员,十分优秀!