这个代码一小段,以两次调用exit(3)
在故障的情况下。 难道这些调用释放内存由malloc的分配呢? 谷歌搜索一次说这样做,甚至更多次,它不...
我要补充的free()?
另外:这是更好的if (!word)
它也将工作如字== 0这是从字== NULL不同的,所以我想这是错误的。),或者if (word == NULL)
char *word = NULL, *temp = NULL;
word = (char *)malloc(sizeof(char) * size);
if (!word) { /* or maybe rather it should be (word == NULL) */
perror("malloc fail");
if (fclose(fp)) {
perror("fclose fail");
exit(3); /* exit without free ? */
}
exit(3); /* exit without free ? */
}
提前致谢!