Всегда ли неинициализированное целое число по умолчанию равно 0 в c?

Я читаю исходный код nginx и обнаружил, что это не так инициализация многих числовых переменных, включая ngx_int_t ngx_last_process; , здесь ngx_int_t определено как long int

#if 0
    ngx_last_process = 0;
#endif

Итак, @ Игорь Сысоев считает, что инициализация не нужна?

Но в программе предполагается, что значение по умолчанию 0 :

    for (s = 0; s < ngx_last_process; s++) {
        if (ngx_processes[s].pid == -1) {
            break;
        }
    }

Гарантировано ли, что неинициализированная переменная вообще будет иметь значение 0 в c?

22
задан Shweta 2 June 2011 в 11:42
поделиться