issues a compile-time diagnostic if the value of a constant expression is false (keyword macro)
Bounds checking
The standard library provides bounds-checked versions of some existing functions (gets_s, fopen_s, printf_s, strcpy_s, wcscpy_s, mbstowcs_s, qsort_s, getenv_s, etc). This functionality is optional and is only available if __STDC_LIB_EXT1__ is defined. The following macros and functions support this functionality.
largest acceptable size for bounds-checked functions, expands to either constant or variable which may change at runtime (e.g. as the currently allocated memory size changes) (macro variable)
ignore callback for the bounds-checked functions (function)
Note: implementations of bounds-checked functions are available as open-source libraries Safe C and Slibc, and as part of Watcom C. There is also an incompatible set of bounds-checked functions available in Visual Studio.
(since C11)
Notes
Since C23, static_assert is itself a keyword, which may also be a predefined macro, so <assert.h> no longer provides it.