Возможный дубликат:
Есть ли бесплатный (ptr), где ptr является NULL поврежденной памятью?
Я пишу функцию C, которая освобождает указатель, если он был malloc()
ed. Указатель может быть либо NULL (в случае, когда произошла ошибка, так и у кода не было возможности выделить что-либо) или выделено с помощью malloc()
. Можно ли использовать free(ptr);
вместо if (ptr != NULL) free(ptr);
?
gcc
вообще не жалуется даже на -Wall -Wextra -ansi -pedantic
, но это хорошая практика?