Notice, however that this is undefined behavior according to the C standard.
Later revisions of the C standard have added several new required header files to the library.
The C standard does not generally specify how data is to be laid out in memory.
The C standard only guarantees two things:
Such implementations are called free-standing in the C standard.
A hosted implementation has all the headers specified by the C standard.
C has a formal grammar specified by the C standard.
Run-time support for extended character sets has increased with each revision of the C standard.
Different C standards provide different, albeit backwards-compatible, sets of functions.
Not all functions are available in C89 version of the C standard.