Возможно, самая большая причина для беспокойства, связанного с появлением нового языкового стандарта, — это вопрос о совместимости со своим предшественником. Устареют ли уже написанные программы после выхода новой спецификации? Были ли изменены важные конструкции? Надо ли менять методологию или технологию программирования? Ответы на эти вопросы часто определяют, в какой степени будет принят новый стандарт и, в дальней перспективе, жизнеспособность самого языка. К счастью, создание С99 было управляемым, беспристрастным процессом — благодаря опытным "диспетчерам" этого процесса. Попросту говоря, если вам нравился С таким, каким он был, то понравится и версия С, определяемая Стандартом С99. То, что многие программисты думали о языке С как о самом элегантном в мире языке программирования, не устарело и сейчас!
В этой главе мы изучим изменения в С и дополнения к С, сделанные Стандартом 1999 года. Многие из этих изменений были вскользь упомянуты еще в части I. Здесь же они будут рассмотрены более подробно. Однако не забывайте, что во время написания этой книги компиляторы, которые поддерживали бы многие новые возможности С99, еще не были широко распространены. Возможно, вам придется немного подождать перед тем, как провести "испытательные полеты" с такими новыми восхитительными конструкциями, которыми являются массивы переменной длины, restricted-квалифицированные указатели и тип данных long long.