Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!rutgers!sunybcs!bingvaxu!leah!itsgw!steinmetz!ge-dab!codas!ateng!chip From: chip@ateng.UUCP (Chip Salzenberg) Newsgroups: comp.lang.c Subject: Re: ANSI question Message-ID: <115@ateng.UUCP> Date: Tue, 1-Dec-87 17:45:18 EST Article-I.D.: ateng.115 Posted: Tue Dec 1 17:45:18 1987 Date-Received: Tue, 8-Dec-87 05:41:43 EST References: <3086@sigi.Colorado.EDU> <11823@orchid.waterloo.edu> Reply-To: chip@ateng.UUCP (Chip Salzenberg) Organization: A T Engineering, Tampa, FL Lines: 28 In article <11823@orchid.waterloo.edu> atbowler@orchid.waterloo.edu (Alan T. Bowler [SDG]) writes: > >I suggest that for style reasons you get into the habit of coding >the prototype as > >extern void testfunc(char **str); > >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..." In fact, the construct extern void testfunc(char **str) { /* Real function goes here */ } is legal! Extern is the default anyway. This kind of function declaration is generated by some C++ translators. Microsoft C loves it, but Turbo C chokes on it. :-( -- Chip Salzenberg "chip@ateng.UUCP" or "{codas,uunet}!ateng!chip" A T Engineering My employer's opinions are not mine, but these are. "Gentlemen, your work today has been outstanding. I intend to recommend you all for promotion -- in whatever fleet we end up serving." - JTK