Esikääntäjän makro-ominaisuutta hyväksikäyttäen voimme määritellä ohjelmaamme vakioita; eli arvoja jotka esiintyvät ohjelmassa täsmälleen yhden kerran. Näin ohjelmastamme saadaan helpommin muuteltava. Esimerkiksi seuraava ohjelma tulostaisi myös tekstin " Hello world! ":
/* Ohjelma tulostaa tekstin Hello world! */ #include <stdio.h> #define TERVE "Hello " #define MAAILMA "world" int main(void) { printf(TERVE MAAILMA"!\n"); return 0; }
Miksikö? Koska esikääntäjä muuttaisi lauseen
printf(TERVE MAAILMA"!\n");
muotoon
printf("Hello " "world""!\n");
Kun tästä lisäksi poistetaan ylimääräiset " white space "- merkit saadaan:
printf("Hello world!\n");