Program viselkedések
- Megfigyelhető viselkedés: standard módon viselkedik a program
- Nem definiált viselkedés: a fordító figyelmeztethet (de nem mindig), és kiszámíthatatlanul fog viselkedni a kód pl.: null pointer
- Nem specifikált viselkedés: nincs dokumentálva pl f(a, b)
- Implementáció specifikált viselkedés: egy adott platformon mindig ugyan úgy fog működni a program pl: sizeof(int)
- Nyelv (locale) specifikus viselkedés pl: islower(‘á’)
- Strictly conforming program: NINCS: nem definiált; nem specifikált; implementáció specifikált viselkedés
C programok felépítése

Translation units
-
Kommentek
return 0; // sor végi komment /* Több soros komment ..... */ -
preprocesszor direktívák (#)
#include <stdio.h> // preprocesszor lépésben a fordító kicseréli a MESSAGE-t arra, ami utána jön #define MESSAGE "valami" // Fordítási időben eldönthető direktíva #ifdef SZIA // fordítóparaméter! #define MESSAGE "szia vilag" #else #define MESSAGE "hello world" #endif //gyakorlatban! #ifdef __unix__ #include <unistd.h> #elif defined _Win32 #include <windows.h> #else #error Only UNIX and WINDOWS is supported #end // Automatikus megoldás header fileok definiálásra #ifndef MYHEADER_H #define MYHEADER /* header content */ #endif
Tokenek:
- keywords
- identifiers
- Konvenciók:

- Konvenciók:
- literals / constants
- Operators
- Separators
… (sok mindent nem írtam le)