Команда #define используется для организации замены строки по всему файлу, где она указана. Другими словами, #define приводит к тому, что компилятор (препроцессор) проходит по всему файлу и делает замену имя-макроса на заменяемая-строка. =
#define TRUE 1
#define FALSE 0
...
int done = 0;
while( done != TRUE ) {
то есть в примере выше условие цикла будет проверяться в виде =
while( done != 1 )
так как в первой же строке с помощью #define было определено: