Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Cancel Macro | Macros
C Preprocessing

bookCancel 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

main.c

copy
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; }
Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 2. ChapterΒ 4
single

single

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 5.56

bookCancel 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

main.c

copy
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; }
Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 2. ChapterΒ 4
single

single

some-alt