I was going through the GCC man page, I found the following line:
file.i C source code that should not be preprocessed.
I know that
The .i files are also called as "Pure C files". In preprocessing stage
.i
Header files will be included.
Macros will be replaced.
Comments are removed.
Used for conditional compilation. If you look at the .i file you can see these things.
Command to generate .i file is-
gcc -E foo.c -o foo.i