Makra są jedną z najstarszych funkcjonalności języka C, a każdy programista napisał ich przynajmniej tuzin. To proste narzędzie, mimo że często przez nas niedoceniane, niesie ze sobą bardzo dużo możliwości. Z drugiej strony wiele makr napisanych jest niechlujnie, przez co ich wykorzystanie może przynieść nieoczekiwane rezultaty. W artykule postaramy się przedstawić dobre praktyki tworzenia makr, a także pokażemy nietypowe i czasem zaskakujące ich zastosowanie.