Aucbvax.5443
fa.unix-wizards
utzoo!decvax!ucbvax!unix-wizards
Fri Dec 11 11:09:28 1981
extern char *
>From ihuxl!jej@Berkeley Fri Dec 11 11:02:21 1981
It's a feature. zot [] is equivalent to zot * ONLY in parameter lists.
If you have an extern, you must declare it zot [], since otherwise it
thinks that there's an extern which holds a reference to a zot, and you
merrily follow it into random memory.

I hope this is clear; it's one of the things that you have to read the
fine print, or rather between the lines, of Kernighan and Ritchie to
figure out (and even then only when you get burned), and one of the places
that C so HORRIBLY butchers the difference between an object and a reference
to it that you should learn Algol 68 just to talk about it sensibly, as per
Sapir and Whorf...

                                       James Jones (ihuxl!jej)

-----------------------------------------------------------------
gopher://quux.org/ conversion by John Goerzen <[email protected]>
of http://communication.ucsd.edu/A-News/


This Usenet Oldnews Archive
article may be copied and distributed freely, provided:

1. There is no money collected for the text(s) of the articles.

2. The following notice remains appended to each copy:

The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996
Bruce Jones, Henry Spencer, David Wiseman.