[net.lang.c] &array

howard@cyb-eng.UUCP (Howard Johnson) (10/27/84)

My first impression of the construct  foo(&1)  was that it should be
classified as a feature which is a nonportable extension to C.
But then I thought for a moment and it occurred to me that &1 can be
handled by the compiler in a way quite similar to handling  foo("hello") !

What happens is that  foo("hello")  causes the compiler to allocate and
initialize a character array and use it's (constant) address as a parameter.
Likewise,  foo(&1)  could cause the compiler to allocate a unique cell
(an int), initialized with the value 1, and pass *that* (constant) address
as a parameter.  Note that this does *not* imply that array declarations
(e.g. bar[10]) get space allocated for a pointer to that array's address.

	Howard Johnson		..!ut-sally!cyb-eng!howard

P.S.:  I can just see a program similar to xstr used to put all instances
of &1 definitions into the same place, so that every &1 points to the same
place...  :-)