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 (IDE’s), and command-line compilers hide most of the individual compiler steps from the user.
|file-name.c||C source code which must be preprocessed.|
|file-name.i||C source code which should not be preprocessed.|
|file-name.h||C header file (not to be compiled or linked).|
|file-name.S||Assembler code which must be preprocessed.|
|file-name.o||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.|
|file-name||If the file has no extension, this is usually the final executable (NIX systems).|
|file-name.exe, .dll, .com||The final executable on a Windows system.|