Неявные описания
Не всегда является необходимым специфицировать и класс памяти и тип идентификатора в описании. Во внешних определениях и описаниях формальных параметров и членов структур класс памяти определяется по контексту. Если в находящемся внутри функции описании не указан тип, а только класс памяти, то предполагается, что идентификатор имеет тип int; если не указан класс памяти, а только тип, то идентификатор предполагается описанным как auto. Исключение из последнего правила дается для функций, потому что спецификатор auto для функций является бессмысленным (язык "C" не в состоянии компилировать программу в стек); если идентификатор имеет тип "функция, возвращающая ...", то он предполагается неявно описанным как extern.
Входящий в выражение и неописанный ранее идентификатор, за которым следует скобка (, считается описанным по контексту как "функция, возвращающая int".