Описание тега c11
C11 - неофициальное название более старой стандартной версии (ISO/IEC 9899:2011) языка программирования C.
Важное примечание: Все вопросы, связанные с C, должны быть помечены как c, а затем в качестве дополнения каждый должен указывать версию стандарта, который он использует. В случае C11 этим дополнением должен быть тег c11.
Обнаружение
Стандартный макрос __STDC_VERSION__
определяется значением 201112L
чтобы указать, что доступна поддержка C11. См. Корр 1:2012.
Некоторые изменения по сравнению с c99:
_Alignas
спецификатор (и, возможно,alignas
макрос)_Alignof
оператор (и, возможно,alignof
макрос)_Noreturn
спецификатор функции (и необязательноnoreturn
макрос)_Generic
ключевое слово_Static_assert
ключевое слово (и необязательноstatic_assert
макрос)_Thread_local
спецификатор класса хранения (и, возможно,thread_local
макрос)_Atomic
квалификатор типа_Complex
а также_Imaginary
ключевые слова (и, возможно,complex
а такжеimaginary
макросы)once_flag
,cnd_t
,mtx_t
,thrd_t
,thrd_start_t
,tss_t
а такжеtss_dtor_t
типыchar16_t
а такжеchar32_t
типы- анонимный
struct
а такжеunion
поддержка aligned_alloc
функцияquick_exit
функцияgets_s
функция в сильно отвергнутом необязательном Приложении K (см. tr24731) в качестве альтернативы удаленномуgets