Нулевой макрос - это макрос, который ничем не будет заменен (будет удален) препроцессором. Его роль - дать подсказку о чем-то в коде, например:
#define IN
#define OUT
#define INOUT
int myFunction(IN char *name, INOUT char *address, OUT char *phone);
Это объявление предполагает, что name
является входной переменной для функции, address
является как входной, так и выходной, phone
является выходной переменной.