Люди выполняют NULL
проверки указателей, чтобы определить , является ли указатель действительным . Нам нужно было бы вызвать функцию, чтобы определить, действительно ли struct
действителен, и ответ будет зависеть от знания точного содержания и его значения. Например ...
typedef struct
{
int numOfStudents;
} School;
int null_check(School* item)
{
/* This test assumes that a School is invalid if it has no students.*/
return (!item || !item->numOfStudents);
}
/*...*/
School s;
/*...*/
if(null_check(&s)) {
printf("null");
}
Обратите внимание , что, хотя указатель либо указывает на что-то, либо нет, вопрос о том, является ли структура данных действительной, потенциально намного сложнее, и его не следует путать с вопросом о том, имеет ли структура был инициализирован или каждый элемент данных установлен в ноль.