C99 существует уже более 10 лет, но поддержка для него медленная, поэтому большинство разработчиков застряли в C89. Даже сегодня я иногда слегка удивляюсь, когда сталкиваюсь с функциями C99 в коде C.
Теперь, когда большинство основных компиляторов поддерживают C99 (MSVC является заметным исключением, а некоторые встроенные компиляторы также отстают), я считаю, что разработчики, которые работают с C, вероятно, должны знать о том, какие функции C99 доступны для них. Некоторые из функций - это обычные функции, которые раньше не были стандартизованы (например, snprintf
) или знакомы с С++ (размещение объявления гибкой переменной или однострочные комментарии //
), но некоторые из новых функций были впервые введенные в C99 и незнакомые многим программистам.
Что вы находите наиболее полезные новые функции на C99?
Для справки стандарт C99 (обозначенный как черновик, но идентичный обновленному стандарту, насколько мне известно), список новых функций, а статус выполнения GCC C99.
Одна функция для каждого ответа, пожалуйста; не стесняйтесь оставлять несколько ответов. Приводятся примеры коротких примеров, демонстрирующих новые функции.