C99 existe depuis plus de 10 ans, mais sa prise en charge a été lente, de sorte que la plupart des développeurs sont restés fidèles à la norme C89. Même aujourd'hui, je suis parfois légèrement surpris lorsque je rencontre des fonctionnalités C99 dans du code C.
Maintenant que la plupart des grands compilateurs supportent C99 (MSVC étant une exception notable, et certains compilateurs embarqués étant également à la traîne), je pense que les développeurs qui travaillent avec C devraient probablement savoir quelles sont les fonctionnalités de C99 qui sont à leur disposition. Certaines de ces fonctionnalités sont simplement des fonctionnalités communes qui n'ont jamais été standardisées auparavant ( snprintf
par exemple), ou sont familiers du C++ (placement flexible des déclarations de variables, ou ligne simple //
), mais certaines des nouvelles fonctionnalités ont été introduites pour la première fois en C99 et ne sont pas familières à de nombreux programmeurs.
Quelles sont, selon vous, les nouveautés les plus utiles du C99 ?
Pour référence, la norme C99 (étiqueté comme un projet, mais identique à la norme mise à jour, pour autant que je sache), les liste des nouvelles fonctionnalités et le État de la mise en œuvre du GCC C99 .
Une seule fonctionnalité par réponse, s'il vous plaît ; n'hésitez pas à laisser plusieurs réponses. De courts exemples de code démontrant les nouvelles fonctionnalités sont encouragés.