这两天在做练习,有几个错误,写下来,方便以后看!
1, 调 malloc 后没有 free ,完全中了老师的着了!如果是服务器程序的话就会造成内存泄露,因为这块空间系统使用不了了,自己又已经没用了!还有 fopen 后要fclose,fopen 一定检查打开是否成功!
2, 这个错误我找了好久,小堆法或大堆法(优先队列),malloc 分配数组后,下标从 1 开始(这样使用起来比较方便),方法是
t = malloc();
t--;
我结果 free 时就 free(t); 了,半天没找出来,因为两个不在一个函数里。
free(++t); 就对了。