Tässä artikkelissa C11:n aihetta käsitellään laajasta ja analyyttisestä näkökulmasta, tavoitteena antaa lukijalle kattava näkemys tästä asiasta. Erilaisia C11:een liittyviä lähestymistapoja, teorioita ja tutkimuksia tarkastellaan, jotta siitä saataisiin syvempää ja täydellisempää ymmärrystä. Artikkelin aikana tutkitaan C11:n eri puolia ja esitetään perusteltuja argumentteja, jotka laajentavat tietoa tästä aiheesta. Tiukan ja systemaattisen lähestymistavan avulla tavoitteena on tarjota lukijoille yksityiskohtainen ja rikastuttava näkemys C11:stä, jonka tarkoituksena on kannustaa pohdiskelemaan ja keskusteluun tästä nykyään niin tärkeästä aiheesta.
C11 on C-kielen ISO-standardiversio ISO/IEC 9899:2011, joka julkaistiin joulukuussa 2011.[1]
C11 korvasi aiemman standardin C99. C11:n on korvannut uusin standardi C18.
Standardille on julkaistu yksi korjaus: ISO/IEC 9899:2011/Cor 1:2012[2]
C11 ominaisuudet:[1]
mtx_t
[4]_Noreturn
-määritys funktioille_Generic
-avainsanan avulla_Thread_local
, <threads.h>
, _Atomic
ja <stdatomic.h>
)char16_t
, char32_t
, <uchar.h>
, u8-literaalit)gets
-funktio poistettu vaarallisenastruct T { int tag; union { float x; int n; }; };
)_Static_assert
käännösaikaisten tarkastusten laatimista vartenquick_exit
-funktioprintf
-, scanf
ja str*
-perheen funktioita on korvattu _s-päätteisillä joilla voidaan korvata pienellä vaivalla tietoturvaltaan kyseenalaisia funktioita (Annex K)[5]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.