K&R App A, par. 8 & 8.2, on Declarat
    kah at hpfclq.UUCP 
    kah at hpfclq.UUCP
       
    Sun Jul  8 23:59:00 AEST 1984
    
    
  
Re: whether 
	a =1;
can be a legal declaration.
See K&R, Appendix A, 18.3 and 18.4.  Note that the "declaration-list"
productions you reference refer to statements -- ie, declarations
within a function-definition.  And here it is necessary to have either
an sc-specifier or a type-specifier in order to distinguish a declaration
statement from an expression statement.
However, at the global level, declarations are data-definition's (see 18.4),
and here both the type-specifier and (extern | static) are optional.
So
	x;
	y = 1;
are legal external data-definitions
and are equivalent to
	int x;
	int y = 1;
respectively.
K.Harris
hpfcla!kah
    
    
More information about the Comp.lang.c
mailing list