Understanding the C Preprocessor
Learn how #include, #define, and #ifdef directives work.
Understanding the C Preprocessor is a free C Academy lesson on CoddyKit — lesson 1 of 3. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the C Academy learning path, one of 3 lessons in the course, and your progress syncs across the web and the CoddyKit app.
1
Understanding the C Preprocessor
The C preprocessor is a tool that processes source code before compilation.
In this lesson, you will learn:
- How the C preprocessor works.
- How to use
#include,#define, and#ifdefdirectives. - The role of preprocessor directives in modular programming.

2
What is the C Preprocessor?
The C preprocessor modifies code before compilation by handling directives that start with #.
Common directives:
#include- Includes files.#define- Defines macros.#ifdef- Enables conditional compilation.
3
Using #include to Import Files
The #include directive is used to include standard and user-defined header files.
Example:
#include
This imports the standard input-output library.
4
Example: Using #include
This program demonstrates how to include a standard library.
#include <stdio.h>
int main() {
printf("Hello, Preprocessor!\n");
return 0;
}5
Using #define to Create Macros
The #define directive creates symbolic constants.
Example:
#define PI 3.14159
This replaces PI with 3.14159 throughout the code.
6
Example: Using #define
This program demonstrates how to use macros with #define.
#include <stdio.h>
#define PI 3.14159
int main() {
printf("Value of PI: %f\n", PI);
return 0;
}7
Conditional Compilation with #ifdef
The #ifdef directive allows compiling parts of the code only if a macro is defined.
Example:
#ifdef DEBUG
printf("Debugging mode enabled!\n");
#endif8
9
Undefining a Macro
The #undef directive removes a previously defined macro.
Example:
#define TEMP 100
#undef TEMP
This prevents further use of TEMP.
10
Summary
In this lesson, you learned:
- How the C preprocessor works.
- How to use
#includeto import libraries. - How to define macros with
#define. - How to use
#ifdeffor conditional compilation.
Next, we will explore macros and inline functions!

Frequently asked questions
Is the “Understanding the C Preprocessor” lesson free?
Yes — the full text of “Understanding the C Preprocessor” is free to read here on the web, and the C Academy course includes 3 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the C Academy course, upgrade to CoddyKit PRO.
What will I learn in “Understanding the C Preprocessor”?
Learn how #include, #define, and #ifdef directives work. You practise C Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start C Academy?
No prior experience is required. C Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 3, so you can start here or from the beginning and move at your own pace.
How long does the “Understanding the C Preprocessor” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this C Academy lesson?
Yes. Every C Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Understanding the C Preprocessor
- Macros and Inline Functions
- Conditional Compilation