大佬教程收集整理的这篇文章主要介绍了C内存泄漏尽管免费,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
row = malloc(sizeof(Row)); row->columns = malloc(sizeof(char*) * headcnt); row->numcol = 0; ... row->numcol = colcnt; rows = realloc(rows,(rowcnt+1) * sizeof(Row)); rows[rowcnt++] = *row;
负责尝试释放内存的代码:
void cleanUp(){ int i = 0; int j = 0; for (i = 0; i < rowcnt; i++){ for (j = 0; j < rows[i].numcols; j++){ free(rows[i].columns[j]); } free(&rows[i]); } free(rows); exit(0); }
行声明
typedef struct { char** columns; unsigned short int numcol; } Row; Row* rows = NULL;
更糟糕的是,这个程序有时会引起glibc错误,并且自由(& rows [i])抱怨双重空格.我对C很新,并且会感谢任何人可能拥有的任何指针(ahem).
rows = malloc(count * sizeof(Row*)); // This is probably done somewhere row->columns = malloc(sizeof(char*) * headcnt); row->numcol = 0; ... row->numcol = colcnt; rows = realloc(rows,(rowcnt+1) * sizeof(Row*)); rows[rowcnt++] = row;
现在如果你的清理
void cleanUp(){ int i = 0; int j = 0; for (i = 0; i < rowcnt; i++){ free(rows[i]->columns); } free(rows); exit(0); }
以上是大佬教程为你收集整理的C内存泄漏尽管免费全部内容,希望文章能够帮你解决C内存泄漏尽管免费所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。