C11 on C-kielen ISO-standardiversio ISO/IEC 9899:2011, joka julkaistiin joulukuussa 2011.

C11 korvasi aiemman standardin C99. C11:n on korvannut uusin standardi C18.

Standardille on julkaistu yksi korjaus: ISO/IEC 9899:2011/Cor 1:2012https://www.iso.org/standard/61717.html

Ominaisuudet C11 ominaisuudet: parannettu Unicode tuki (ISO/IEC TR 19769:2004) atomiset operaatiot standardikirjastoon Säikeistyksen tuki ja mtx_t avainsanat tietotyyppien pakkaukselle (alignment) _Noreturn-määritys funktioille geneeriset makrot _Generic-avainsanan avulla tuki säikeistykselle ja atomisuudelle (_Thread_local, <threads.h>, _Atomic ja <stdatomic.h>) parannettu Unicode-tuki (char16_t, char32_t, <uchar.h>, u8-literaalit) gets-funktio poistettu vaarallisena anonyymit structit ja unionit (struct T { int tag; union { float x; int n; }; };) makrot liukulukujen tyyppien tarkasteluun makrot imaginaarilukujen luomista varten _Static_assert käännösaikaisten tarkastusten laatimista varten quick_exit-funktio suuri joukko mm. printf-, scanf ja str*-perheen funktioita on korvattu _s-päätteisillä joilla voidaan korvata pienellä vaivalla tietoturvaltaan kyseenalaisia funktioita (Annex K)http://www.drdobbs.com/cpp/the-new-c-standard-explored/232901670?pgno=2 analysoitavuus (Annex L)

C11 sallii toteutukset, joissa osaa standardista ei ole toteutettu. Valinnaisia osia ovat kompleksiluvut, IEC 60559 -liukuluvut, säikeistys ja atomisuus ja liitteet K ja L.

Lähteet

Luokka: C