Единственное отличие состоит в том, что вы можете взять адрес переменной, в то время как вы не можете взять адрес константного строкового выражения (к чему сводится макрос). Я предпочитаю избегать #define
s, когда это возможно, поэтому я бы выбрал первое, но это просто вопрос стиля.