NULL vs 0 - chapter and verse

Guy Harris guy at rlgvax.UUCP
Sun Jan 22 13:12:37 AEST 1984

The "standard" is best described as "'Version 7 Phototypesetter' C", rather than
V7 C, System III C, or System V C, or System V Release 2 C, or 4.xBSD C.  (There
are still a few archaic systems running "early V6", without the new system
calls, without Standard I/O, and without a "modern" C with "long", "typedef",
etc., etc. - but life goes on and most people assume that all UNIXes have V7
capabilities or more).  V7 added "enum"s and structure assignment, structure
function arguments, and structure-valued functions; System III C added "void"
(although PCC had "void" before it became "official") and new rules for
structure/union member names, System V enforced some parts of the standard
more strictly (old-style initializations and assignment operators were
decommissioned and a multiple-module program could have only *one* definition
of an external value), and System V Release 2 supported long variable names,
as did 4.xBSD C which is otherwise System III C.  There may be some V7s out
there that don't support "enum" or structures-as-full-fledged-objects.

At this point I'd like to see the C Reference Manual reissued, describing at
least V7 C and probably System III C (4.xBSD, S3, and S5 support this, and
more and more systems are either S3/S5 based, or are going with 4.2BSD; the
PDP-11 V7s out there could probably pick up the S3 or S5 PDP-11 C compiler
without too much trouble.)

	Guy Harris

More information about the Comp.lang.c mailing list