Не очень сильно изменилось. Для большинства практических целей используется язык, описанный в K & R2.
В 1999 году появился новый стандарт С, но он не был принят так успешно и широко, как версия стандарта 1989 года (которую также описывает K & R2).
Наиболее важные изменения в C99, которые могут сломать существующие программы:
- Неявное предположение типа
int
в объявлениях было удалено. Просто убедитесь, что вы всегда явно указываете типы своих функций и переменных.
- Вызов функции без предварительного объявления не рекомендуется. Просто убедитесь, что вы объявили все функции перед использованием, желательно с прототипом.
Оба из них были пережитками прежних дней и долгое время считались плохой практикой.
Единственной функцией, которую следует избегать, является (и всегда была) gets()
.