free 和 fclose

想到一个场景,具体代码如下

#include <stdio.h>
#include <stdlib.h>

int main(int argc, const char *argv[])
{
    free(NULL);
    fclose(NULL);
    return 0;
}

free(NULL)指针,会直接返回

free(ptr),并不会将ptr置为NULL(函数传值语义),如果ptr不置为NULL,再次调用free(ptr)就会core掉。

fclose关闭一个NULL指针,会直接core掉。

原文地址:https://www.cnblogs.com/westfly/p/4139382.html