выдаёт диагностическое сообщение во время компиляции, если значение константного выражения ложно (макрос-ключевое слово)
Проверка границ
Стандартная библиотека предоставляет версии некоторых существующих функций с проверкой границ (gets_s, fopen_s, printf_s, strcpy_s, wcscpy_s, mbstowcs_s, qsort_s, getenv_s и т. д.). Эта функциональность является необязательной и доступна только в том случае, если определён __STDC_LIB_EXT1__. Следующие макросы и функции поддерживают эту функциональность.
наибольший допустимый размер для функций с проверкой границ; раскрывается либо в константу, либо в переменную, значение которой может изменяться во время выполнения (например, при изменении текущего объёма выделенной памяти) (переменная-макрос)
функция обратного вызова, игнорирующая ошибки в функциях с проверкой границ (функция)
Примечание: реализации функций с проверкой границ доступны в виде библиотек с открытым исходным кодом Safe C и Slibc, а также входят в состав Watcom C. В Visual Studio также доступен несовместимый набор функций с проверкой границ.
(начиная с C11)
Примечания
Начиная с C23, static_assert само является ключевым словом, которое также может быть предопределённым макросом, поэтому <assert.h> больше не предоставляет его.