В чем разница между указателем == null и! указателем в моем коде? - PullRequest
0 голосов
/ 16 апреля 2020

в 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, который находится внутри, если утверждение не достижимо. почему это так?

Примечание: я думаю, что у меня не было этой проблемы перед обновлением до новой версии Clion, которая была выпущена сегодня, плюс изменение !extended_map на extended_map==NULL решает проблемы ...

...