from the initials of the authors of the canonical textbook (The C Programming Language).
Yes. My copy sits on the shelf above my computer. It has a loose front cover, is a faded yellow color, has the ISBN number 9-130110163-3 and dates from 1978.
And on page 218/section 18.4 External definitions it give the following set of possibilities:
program:
external-definition
external-definition program
external definition:
function-definition
data-definition
function-definition:
type-specifier(opt) function-declarator function-body
function-declarator
declarator ( parameter-list(opt) )
parameter-list:
identfier
identifier , parameter-list
function-body:
type-decl-list function-statement
function-statement:
{ declaration-list(opt) statement-list }
I don't think you you'll find a much earlier revision than my copy, indeed I can't find any sign that it is a revised edition at all, but I can't see any interpretation of the above, that means that:
unsigned long func (c) unsigned char *c;
was ever a legal function declaration.
There are certainly no examples in the book that look like that, though there are precious few examples of function declaration. I've been doing C a long time and I've always declared function parameters inside the parens. I well remember the old DECUS compiler used to permit some extraordinary code, which why it was so favoured by the Obfuscated-C entrants, but I still do not recall seeing people use the above declaration form.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
|