Определения символических констант и макросов могут быть аннулированы при помощи директивы препроцессора #undef, имеющей вид:
#undef идентификатор
Директива отменяет определение символической константы или макроса с указанным идентификатором. Таким образом, область действия символической константы или макроса начинается с места их определения и заканчивается явным их аннулированием директивой #undef или концом файла. После аннулирования соответствующий идентификатор может быть снова использован в директиве #define.
Примеры
#define MyConst 128 // константа MyConst равна 128
#undef MyConst // константу MyConst использовать нельзя