“From today onwards, study hard and make progress every day”
Repetition is the best method for memory; spend one minute each day to remember the basics of C language.
“Essential Knowledge Points for C Language Beginners: 100 Articles Series“
5. The Role of #include: A Detailed Explanation of Header File Inclusion
1. Basic Functions of Header Files
Header files (.h files) are an important part of the C language, mainly serving the following functions:
- 1. Declare function prototypes (e.g., the declaration of printf() is in stdio.h)
- 2. Define macros and constants (e.g., the definition of NULL)
- 3. Include other header files (forming an inclusion chain)
- 4. Share data structure definitions
2. Inclusion Syntax Format
- 1. System header file inclusion
#include <filename.h>Example:
#include <stdio.h> // Standard input and output #include <math.h> // Mathematical functions - 2. User-defined header file
#include "filename.h"Example:
#include "myutils.h" // Custom utility functions
3. Working Principle Diagram
// main.c
#include <stdio.h>
// This function references a function in the header file
printf("Hello");
// stdio.h
int printf(...);
int scanf(...);
4. List of Common Standard Library Header Files
| Header File | Function Description | Common Functions/Macros |
| stdio.h | Standard input and output | printf, scanf |
| stdlib.h | Memory management/system functions | malloc, exit |
| string.h | String manipulation | strcpy, strlen |
| math.h | Mathematical calculations | sqrt, pow |
| ctype.h | Character handling | isdigit, toupper |
5. Typical Error Cases
- 1. Incorrect inclusion:
#include <stdoi.h> // Spelling errorError message:
fatal error: stdoi.h: No such file or directory - 2. Circular inclusion:
// file1.h #include "file2.h" // file2.h #include "file1.h"Solution: Use header file guards
6. Header File Guard Mechanism
Correct usage:
#ifndef MY_HEADER_H
#define MY_HEADER_H
// Header file content...
#endif
7. Compilation Command Examples
Specify header file search path:
gcc -I./include main.c -o program
Where:
- •
<span>-I</span>option specifies additional header file directories - •
<span>./include</span>is the path for custom header files
8. Practical Suggestions
- 1. System header files should be placed first
- 2. User-defined header files should be categorized by function
- 3. Avoid defining variables in header files
- 4. Each .c file should correspond to a .h file (with the same name)
9. Verification Exercises
- 1. Create a header file mymath.h:
// mymath.h #ifndef MYMATH_H #define MYMATH_H double circle_area(double r); #endif - 2. Create the implementation file mymath.c:
#include "mymath.h" double circle_area(double r) { return 3.14*r*r; } - 3. Use it in main.c:
#include <stdio.h> #include "mymath.h" int main() { printf("Area: %.2f\n", circle_area(2.5)); return 0; }
10. Other Tips
- 1. The modern C standard recommends using:
#include <stdio.h> // Standard usageinstead of:
#include <stdio> // C++ style (incorrect) #include "stdio.h" // Less efficient - 2. Check the compiler search path:
gcc -v -E -
———- End ———-
[Special Statement: All articles in this public account are original or authorized by the author, and some content and images are sourced from the internet and AI. Please feel free to consume, and the views are for learning reference only~~]

“If you like C, please like it”
Click the bottom right to see more
“