„C (programozási nyelv)” változatai közötti eltérés

[ellenőrzött változat][nem ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
TurkászBot (vitalap | szerkesztései)
a →‎ANSI C és ISO C: Átirányítások javítása (Turkásznivalók), replaced: Microsoft WindowsMicrosoft Windows
73. sor:
 
* inline függvények
* változók definiálási helyére vonatkozó szabályai enyhítése (hasonlóképpen, mint Cdani++-ban)
* új adattípusok, például: <code>long long int</code>, hogy a 32bitről a 64bitre való átállást megkönnyítsék, explicit <code>bool</code> (<code>stdbool.h</code>) és a <code>complex</code> (<code>complex.h</code>) típus.
* változó méretű [[Tömb (adatszerkezet)|tömbök]]
* hivatalosan is bevezették az egysoros kommentár jelölést <code>//</code> (a Cdani++-ból)
* több új függvény, mint például: <code>snprintf()</code>
* több új „header” állomány, mint például az <code>inttypes.h</code>, amely rögzített méretű integer típusokat definiál: <code>int8_t, int16_t, int32_t, int64_t</code>, illetve ezek előjel nélküli változatait.
85. sor:
2007-ben kezdődött a munka a C sztenderd egy másik revíziójával kapcsolatban, amit informálisan "C1X"-nek hívtak egészen addig, míg hivatalosan is nem publikálták 2011. december 8-adikán. A C sztenderdek tanácsa elfogadta az ajánlásokat az új lehetőségek limitált beépítésére, amelyeket még nem kezdtek el tesztelni létező implementáción.
 
A C11 sztenderd számos új lehetőséget adott hozzá a C és könyvtárakhoz, beleértve a típus generikus makrókat, anoním struktúrákat, javított Unicode támogatást, atomi operációkat, többszálúságot és határ ellenőrző függvényeket. Továbbá elkészítették a létező C99 könyvtár néhány portolását, és javították a kompatibilitást a Cdani++-al.
 
== A C nyelv jellemzői ==
101. sor:
A nyelv utasításai a [[#preproc|preprocesszor-utasítások]] kivételével szabad formátumúak: ahol egy helyköz megengedett, ott akárhány helyköz, tabulátor, új sor lehet. A nyelv szavai (utasításnevek, változónevek, számok, műveleti jelek, stb.) között lehet helyköz, de nem kötelező. Az utasítások pontosvesszővel végződnek. Az üres utasítás az előző utasítás vége után tett pontosvessző. A folytatósor – a sor végi <code>\</code> – a szabad formátum miatt csak preprocesszor-utasításokban használatos.
 
A megjegyzéseket <code>/*</code> és <code>*/</code> közé kell zárni, és szabvány szerint nem skatulyázhatók egymásba, bár sok fordítóprogram mégis megengedi. Az ANSI C-től kezdve használható a <code>//</code>, mely a sor végéig tartó megjegyzést vezet be (a [[C++|dani++]]-hoz hasonlóan). Hosszabb megjegyzéseket a <code>#if 0</code>...<code>#endif</code> közé is lehet tenni; ezek – lévén preprocesszor-utasítások – egymásba skatulyázhatók.
 
C-ben a nevek kis- és nagybetűkből, számjegyekből és aláhúzásból állhatnak, számjegy nem lehet az első karakter. A kis- és nagybetűk különbözőek. A kialakult szokás szerint a nevekben kisbetűket használunk, a preprocesszor-utasításokban rendszerint nagybetűket.
114. sor:
A preprocesszor utasítások az assembly nyelvek makróihoz hasonlítanak: a fordítás első menetében „normál” C-utasításokká fordulnak le.
 
Az aritmetikai utasítások nagyon különböznek a többi programozási nyelvben megszokott értékadó utasításoktól. Ezt az aritmetikai utasítást vette át a [[C++|dani++]] és a [[Java (programozási nyelv)|Java]].
 
A nyelvnek nincs input/output utasítása, ezt [[#stdio|szabványos könyvtári függvények]] végzik.