C99

Kohteesta Wikipedia
Siirry navigaatioon Siirry hakuun

C99 (ent. C9X) on C-kielen versio, joka on ISO-standardi ISO/IEC 9899:1999 (1999).[1]

Versio laajentaa C90 (1990) ominaisuuksia. Versio on korvattu C11 (2011) versiolla.[2]

Standardissa on määritelty tukea eräissä muissa kielissä yleistyneille toiminnoille ja mm. päivitetty tietotyyppien tukea.

Omainaisuudet[muokkaa | muokkaa wikitekstiä]

Uudessa standardissa on lisätty ja kehitetty ominaisuuksia:[1]

  • inline funktioiden tuki
  • uusia datatyyppejä tyyppijärjestelmään: long long int, boolean-tietotyyppi bool, sekä complex tietotyyppi[3]
  • restrict-avainsana muuttujien optimointia varten
  • C++ tyyppiset //-alkuiset kommentit
  • muuttajia ei tarvise määritellä enää lohkon alussa
  • automaattisen taulukkomuuttujan varaus parametrin avulla (ns. VLA, Variable Length Array)
  • makrot vaihtelevanpituisin argumentein
  • uusia funktiokirjastoja <stdbool.h>, <complex.h>, <tgmath.h>, <inttypes.h> ja funktioita kuten snprintf
  • määritellyn levyiset kokonaisluvut
  • parannettu tuki IEEE-liukuluvuille
  • escape-koodit Unicode-merkeille

C99 vaatii toteutukselta diagnostiikkaominaisuuden kun tietotyyppinä on implisiittsesti kokonaisluku int.[4] Esimerkiksi ennen C99:ää voi olla:[4]

extern x;
f(y)
{
    register z = g(x) + y;
    return z;
}

.. jossa x, y ja z käsiteltiin tyyppinä int.[4]

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. a b ISO/IEC 9899:1999 iso.org. Viitattu 26.1.2017.
  2. ISO/IEC 9899:2011 iso.org. Viitattu 26.1.2017.
  3. Boolean type support library en.cppreference.com. Viitattu 8.2.2017.
  4. a b c Randy Meyers: The New C: Integers in C99, Part 1 1.12.2000. Dr. Dobb's. Viitattu 19.6.2019. (englanniksi)

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]