C compilation system

Header files

Header files serve as the interface between your program and the libraries supplied by the C compilation system. Because the functions that perform standard I/O often use the same definitions and declarations, the system supplies a common interface to the functions in the header file stdio.h. If you have definitions or declarations that you want to make available to several source files, you can create a header file with any editor, store it in a convenient directory, and include it in your program as described in the first part of this chapter.

Header files traditionally are designated by the suffix .h, and are brought into a program at compile time. The preprocessor component of the compiler interprets the #include statement in your program as a directive. The two most commonly used directives are #include and #define. The #include directive is used to call in and process the contents of the named file. The #define directive is used to define the replacement token string for an identifier. For example:

   #define NULL   0
defines the macro NULL to have the replacement token sequence ``0''. See ``C language compiler'' for the complete list of preprocessing directives. The most commonly used .h files are listed in ``Header files'' to illustrate the range of tasks you can perform with header files and library functions. When you use a library function in your program, the manual page tells you which header file, if any, needs to be included. If a header file is mentioned, it should be included before you use any of the associated functions or declarations in your program. Put the #include right at the top of a source file.

Header files

assert.h assertion checking
ctype.h character handling
errno.h error conditions
float.h floating point limits
limits.h other data type limits
locale.h program's locale
math.h mathematics
setjmp.h nonlocal jumps
signal.h signal handling
stdarg.h variable arguments
stddef.h common definitions
stdio.h standard input/output
stdlib.h general utilities
string.h string handling
time.h date and time
unistd.h system calls

Next topic: How to use library functions
Previous topic: Libraries and header files

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003