la différence entre le c99 et c11
Je suis en train d'apprendre le c, tout à l'heure. Le livre J'ai lu est C99 base. Je veux mettre à jour mes connaissances à C11 après avoir terminé ce livre, ou de changer de ressources si il y a une différence majeure. Donc, ce que je demande, c'est pour une explication ou une ressource pour mettre à jour mes connaissances. Je n'ai trouvé cette source. Néanmoins, il ne semble pas comporter les informations dont j'ai besoin ou pas concis.
Merci à l'avance.
P. S: je veux apprendre C11 car je pense que c'est la norme dominante maintenant. Si non, veuillez m'en informer.
OriginalL'auteur I am not good at finding name | 2016-07-15
Vous devez vous connecter pour publier un commentaire.
Bon aperçu de C11 standard:
La norme inclut plusieurs changements à la C99 de la langue et de la bibliothèque de caractéristiques, telles que:
_Alignas
prescripteur,_Alignof
opérateur,aligned_alloc
fonction,<stdalign.h>
fichier d'en-tête)_Noreturn
fonction de prescripteur et le<stdnoreturn.h>
fichier d'en-têteDe Type générique expressions à l'aide de la
_Generic
mot-clé. Par exemple, la macro suivantecbrt(x)
se traduit parcbrtl(x)
,cbrt(x)
oucbrtf(x)
selon le type dex
:Support du Multi-thread (
_Thread_local
de stockage de classe prescripteur,<threads.h>
en-tête, y compris la création de threads/fonctions de gestion, mutex, la variable de condition et de thread spécifique fonctionnalités de stockage, ainsi que la_Atomic
type de qualification et<stdatomic.h>
pour sans coupure d'accès à l'objet).char16_t
etchar32_t
types pour le stockage deUTF-16/UTF-32
données encodées, y compris les fonctions de conversion de<uchar.h>
et le correspondant de u et u littéral de chaîne de préfixes, ainsi que les u8 préfixe pourUTF-8
codé littéraux).gets
fonction, déprécié dans la précédente norme du langage C de révision de la norme ISO/IEC 9899:1999/Cor.3:2007(E), en faveur d'une nouvelle alternative sûre,gets_s
.struct T { int tag; union { float x; int n; }; };
.#if
et#error
, quand les types sont compris par le traducteur."…x"
suffixe) pouropen
. Elle se comporte commeO_CREAT|O_EXCL
dansPOSIX
, qui est couramment utilisé pour verrouiller les fichiers.quick_exit
fonctionner comme une troisième voie pour mettre fin à un programme, destiné à faire un minimum de deinitialization si la résiliation avecexit
échoue.real + imaginary*I
ne risque pas de produire de la valeur attendue siimaginary
est infini ouNaN
).OriginalL'auteur Evgeny Karkan
Par la C 2011 standard lui-même, voici les principales modifications apportées C99:
OriginalL'auteur John Bode