C99

ISO C99 – termin odnoszący się do standardu języka C, oznaczonego formalnie jako ISO/IEC 9989:1999[1]. Został wydany w 1999 roku przez ISO, a w marcu 2000 roku został przyjęty przez ANSI. Standard ten opiera się w większości na standardzie ANSI X3.159-1989 (później także ISO/IEC 9899:1990), znanym również jako ANSI C lub C89.

Standard ISO C99 wprowadził kilka nowości do języka C, z których część była już wcześniej dostępna jako rozszerzenia kompilatorów. Do takich zmian można zaliczyć:

  • funkcje inline (znane z języka C++, ale w C99 z inną semantyką[2])
  • dodanie słowa kluczowego restrict
  • możliwość deklaracji zmiennych w dowolnym miejscu w programie (przyjęte z języka C++)
  • kilka nowych wbudowanych typów zmiennych takich jak typ logiczny czy long long int
  • tablice o zmiennej liczbie elementów
  • komentarze w stylu C++ zaczynające się od // i kończące wraz z końcem linii
  • nowe standardowe funkcje oraz pliki nagłówkowe: complex.h, fenv.h, inttypes.h, stdbool.h, stdint.h i tgmath.h
  • typ bool zawarty w nagłówku stdbool.h

Kompilator GCC od wersji 4.5 jest niemal całkowicie zgodny ze standardem ISO C99[3]. O wiele gorzej jest z implementacją tego standardu w kompilatorach firm Microsoft oraz Borland, które większą uwagę przywiązują do rozwoju narzędzi do programowania w języku C++.

Linki zewnętrzne

Przypisy

  1. ISO/IEC 9899:1999 - Programming languages - C, www.iso.org [dostęp 2019-06-13] (ang.).
  2. Randy Meyers: The New C: Inline Functions (ang.). Dr. Dobb's, Randy Meyers, 2002-07-01. [dostęp 2012-07-11].
  3. Status of C99 features in GCC (ang.). [dostęp 2014-02-20].