Preprocesor jazyka C: Porovnání verzí

Smazaný obsah Přidaný obsah
→‎Definice a expanze maker: doplneni caste chyby, zvazte, jestli to neni spise namet pro wikiknihy a pripadne zreduhujte
Xchaos (diskuse | příspěvky)
→‎Definice a expanze maker: viz ukázkové makro RADTODEG(x) výše
Řádek 82:
c=2+2*5+5
</source>
Výsledek není tedy mylně očekávaných 40 ale 17. ChyběTakové chybě se dá v případě zabránit dostatečnýmuzavřením ozávorkovánímmatematického výrazu do závorek (viz ukázkové makro RADTODEG(x) výše) a obecně nepoužíváním nadměrně komplikovaných maker. V tomto konkrétním případě stačí dané makro přespat jako
<source lang="c">
 
#define NASOBEK(a,b) (a*b)
 
</source>
 
Existuje nepsaná zvyklost, podle které jsou v názvech maker C preprocesoru vždy používána pouze velká písmena A-Z (a číslicemi a podtržítky), zatímco názvy funkcí a proměnných v C jsou obvykle tvořená pouze malými písmeny a-z (a číslicemi a podtržítky, výjimečně i kombinací velkých a malých písmen). Nicméně jde pouze o konvenci usnadňující čtení zdrojového kódu: lze použít i názvy maker tvořené malými písmeny nebo kombinací velkých a malých písmen (stejně tak lze pojmenovat funkce a proměnné v C naopak velkými písmeny)