Cancel Macro
The #undef directive in the C programming language is used to undefine a previously declared macro created using the #define directive.
#undef <name_of_macro>
This allows you to remove a macro from the current scope so that its name can be redefined or no longer used in your program.
Macros are global: Macros operate at the preprocessor level, and their scope extends to the entire file where they are defined. Once redefined, the new value will be used wherever that macro appears later in the code.
main.c
1234567891011#include <stdio.h> #define MAX 100 int main() { printf("MAX = %d\n", MAX); // MAX = 100 #undef MAX // remove macros MAX #define MAX 200 // define new macros MAX printf("MAX = %d\n", MAX); // MAX = 200 return 0; }
Thanks for your feedback!
single
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat
What happens if I try to redefine a macro without using #undef first?
Can you give an example of using #undef and redefining a macro?
Are there any common mistakes to avoid when using #undef in C?
Awesome!
Completion rate improved to 5.56
Cancel Macro
Swipe to show menu
The #undef directive in the C programming language is used to undefine a previously declared macro created using the #define directive.
#undef <name_of_macro>
This allows you to remove a macro from the current scope so that its name can be redefined or no longer used in your program.
Macros are global: Macros operate at the preprocessor level, and their scope extends to the entire file where they are defined. Once redefined, the new value will be used wherever that macro appears later in the code.
main.c
1234567891011#include <stdio.h> #define MAX 100 int main() { printf("MAX = %d\n", MAX); // MAX = 100 #undef MAX // remove macros MAX #define MAX 200 // define new macros MAX printf("MAX = %d\n", MAX); // MAX = 200 return 0; }
Thanks for your feedback!
single