Portability Issues

C is a portable language .C programs written on one system can be run on other systems with little or no modification. If modifications are necessary, they can often be made by simply changing a few entries in a header file accompanying the main program.

C compilers(the compiler is a program that translates the high-level language program into the detailed set of machine language instructions the computer requires)

are available for about 40 systems, running from 8-bit microprocessors to supercomputers. However,the portions of a program written specifically to access particular hardware devices, such as a display monitor, or special features of an operating system, typically are not portable.

Because of C's close ties with Unix, Unix systems typically come with a C compiler as part of the packages. Linux installations also usually include a C compiler. Several C compilers are available for personal computers, including PCs running various versions of Windows, and Macintoshes.

This approach has a benefit that one can match a compiler to a particular machine language becauseeach computer design has its own unique machine language. A programming problem is solved once and compilers translate the solution to a variety of machine languages.