Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!amdcad!ames!hao!oddjob!gargoyle!ihnp4!cbosgd!clyde!watmath!orchid!atbowler
From: atbowler@orchid.waterloo.edu (Alan T. Bowler [SDG])
Newsgroups: comp.lang.c
Subject: Re: ANSI question
Message-ID: <11823@orchid.waterloo.edu>
Date: Tue, 24-Nov-87 19:50:31 EST
Article-I.D.: orchid.11823
Posted: Tue Nov 24 19:50:31 1987
Date-Received: Sun, 29-Nov-87 09:35:20 EST
References: <3086@sigi.Colorado.EDU>
Reply-To: atbowler@orchid.waterloo.edu (Alan T. Bowler [SDG])
Organization: U. of Waterloo, Ontario
Lines: 23

In article <3086@sigi.Colorado.EDU> swarbric@tramp.Colorado.EDU (SWARBRICK FRANCIS JOHN) writes:
>I assume that this will be the new ANSI specification.  Does MSC allow this?
>
>void testfunc(char **str);  /* function prototype */
>
>void testfunc(char **str)
>{
>  /* actual code */
>}

I know the above is legal, and compilers are supposed to accept it.
I suggest that for style reasons you get into the habit of coding
the prototype as

extern void testfunc(char **str); 

The compiler may be very good at distinguishing that this is a 
proto-type and not the actual function, but humans are less
sensitive to things like semi-colon at the end of the line.
Use of "extern" says to the human reader quiet explicitly

"This is not the real definition (i.e. the one that creates it)
 That is somewhere else, but the object is used like this..."