Структуры в СИ, подскажите пожалуйста.
Всем привет.
Вот участок кода.
#define QUE struct que
QUE
{
int info;
QUE *next;
};
...
void insert (QUE **q, int item)
/*1. увійти в список через “голову” (“голова” списку доступна через покажчик *s) */
{
QUE *current=*q; /* поточний елемент списку */
QUE *previous=0; /* попередній елемент списку */
QUE *new_node;
/* перегляд списку до кiнця */
while(current)
/* 2. пройти за списком до кінця, послідовно перебираючи його елементи */
{
previous=current;
current=current->next;
}
...
как понять вот эту строку?
while(current) ...
current это же имя переменной структурного типа данных? каким образом они проверяют на 0 сразу все элементы info и *next как такое вообще возможно?
эта запись аналогична записи while (current != 0) ...НО.. . ЧТО ИМЕННО ОНИ ПРОВЕРЯЮТ НА НОЛЬ? info или *next или ...