Существует атрибут функции , который можно использовать для предупреждения о пустых указателях:
void foo(void *data) __attribute__((nonnull));
int main(void)
{
foo(0);
return 0;
}
$ gcc -Wall -c t.c
t.c: In function ‘main’:
t.c:5:5: warning: null argument where non-null required (argument 1) [-Wnonnull]
Я не знаю ничего встроенного, чтобы проверить 0 на наличиехотя целочисленные типы.
Вы можете найти что-то, что соответствует вашим потребностям, в различных макросах BUILD_BUG_*
из ядра Linux.Они в include/linux/kernel.h
.( Перекрестная ссылка здесь .)