ohjelmointikieli From Wikipedia, the free encyclopedia
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.
Standardille on julkaistu kolme korjausta:
Uudessa standardissa on lisätty ja kehitetty ominaisuuksia:[1]
long long int
, boolean-tietotyyppi bool
, sekä complex
tietotyyppi[6]restrict
-avainsana muuttujien optimointia varten<stdbool.h>
, <complex.h>
, <tgmath.h>
, <inttypes.h>
ja funktioita kuten snprintf
C99 vaatii toteutusta antamaan diagnostiikan kun tietotyyppinä on implisiittisesti kokonaislukutyyppi int
.[7]
Esimerkiksi ennen C99:ää voi olla:[7]
extern x;
f(y)
{
register z = g(x) + y;
return z;
}
.. jossa x
, y
ja z
käsiteltiin tyyppinä int
.[7]
C99:ssä on määritelty joustavan kokoiset taulukkojäsenet viimeisenä elementtinä struct
-tietueille, joilla on useampi kuin yksi nimetty jäsenmuuttuja. Joustavat taulukot ovat määritellään tyhjänä indeksinä, jolla viitataan muuttuvapituiseen tietoon muodossa taulukon_tunniste[]. Esimerkiksi:[8]
struct Foo {
int a;
int b[];
};
.. jossa b
on muuttuvapituinen taulukko.
Koska muuttuvapituinen taulukko on epätäydellinen tyyppi sen kokoa ei saa selville sizeof
-operaattorilla.[8]
Aiemmin on käytetty yhden elementin pituisia taulukkoja.[9] GCC-kääntäjässä on laajennus, joka tukee nolla-pituisia taulukkoja sekä se tukee C99-standardin mukaisia joustavia taulukkoja.[10] Joustavilla taulukoilla voidaan välttää tiettyjä virheitä.[11]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.