首页 > 解决方案 > 我的代码中的 pointer==null 和 !pointer 有什么区别?

问题描述

在extended_map.c 我写道:

#include "extended_map.h"
#include "map.h"
#include <stdlib.h>

struct Extended_Map_t{
    char* key;
};

Extended_Map extended_mapCreate()
{
    Extended_Map extended_map = malloc(sizeof(*extended_map));
    if (!extended_map)
    {
        return NULL;//Here is the problem
    }
    return NULL;
}

在extended_map.h 我写道:

typedef struct Extended_Map_t* Extended_Map;

但是 Clion 向我展示了第一个return NULL位于 if 语句不可访问的内部。这是为什么?

注意:我认为在更新到今天发布的 Clion 的新版本之前我没有这个问题,加上更改!extended_mapextended_map==NULL解决问题...

标签: cif-statementnullclionc99

解决方案


推荐阅读