Директива #undef

Содержание

Директива #undef удаляет ранее заданное определение имени макроса, то есть «аннулирует» его определение; само имя макроса должно находиться после директивы. В общем виде директива #undef выглядит таким образом:

#undef имя_макроса

Вот как, например, можно использовать эту директиву:

#define LEN 100
#define WIDTH 100

char array[LEN][WIDTH];

#undef LEN
#undef WIDTH
/* а здесь и LEN и WIDTH уже не определены */

И LEN, и WIDTH определены, пока не встретился оператор #undef.

Директива #undef используется в основном для того, чтобы локализовать имена макросов в тех участках кода, где они нужны.