The following table lists the standard file extensions used for C-related files. The extension normally indicates how far the file is through the compilation process. Note that many integrated development environments (IDEs), and command-line compilers hide most of the individual compiler steps from the user.
|C source code which must be preprocessed.|
|C source code which should not be preprocessed.|
|C header file (not to be compiled or linked).|
|Assembler code which must be preprocessed.|
|Object file by default, the object file name for a source file is made by replacing the extension .c, .i, .s etc with .o. This can be changed with a command line parameter.|
|If the file has no extension, this is usually the final executable (NIX systems).|
|The final executable on a Windows system.|