Re: Ahead of "main"?
- From: "Stephen Sprunk" <stephen@xxxxxxxxxx>
- Date: Sun, 29 Apr 2007 16:35:40 -0500
"mdh" <mdeh@xxxxxxxxxxx> wrote in message news:1177877117.874830.65670@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Hi all,
Going quite methodically through K& R ( as some of you can attest
to!), I have never seen a big diffference in declaring a function
within "main" or "ahead" of it. Now, (p119, K&R II), the discussion
states that "functions "whatever" " should be declared ahead of
main.
Is there a good reason for this?
In Standard C, functions cannot be declared "within" main(); these are called nested functions and are implemented as an extension by some compilers, but in general you should never use them. Therefore, the debate is about whether to declare functions before or after main().
As a rule, you should declare all functions before you call them; I won't go into the reasons why, as Eric did a good job of that. One style is to define all other functions before main(), which also declares them. The other is to declare all of your functions in a group near the beginning of the source, and then you can define them in any order you want. The latter style is effectively required when you move to multi-file projects, and the standard practice is to put all of your function declarations in header (.h) files so that each source file can simply #include the appropriate header files and then use whatever functions are needed.
S
--
Stephen Sprunk "Those people who think they know everything
CCIE #3723 are a great annoyance to those of us who do."
K5SSS --Isaac Asimov
--
Posted via a free Usenet account from http://www.teranews.com
.
- Follow-Ups:
- Re: Ahead of "main"?
- From: J. J. Farrell
- Re: Ahead of "main"?
- From: Richard Tobin
- Re: Ahead of "main"?
- From: Flash Gordon
- Re: Ahead of "main"?
- References:
- Ahead of "main"?
- From: mdh
- Ahead of "main"?
- Prev by Date: Re: the mystery of <ctrl-d>
- Next by Date: Re: break statement in a for loop
- Previous by thread: [OT] Re: Ahead of "main"?
- Next by thread: Re: Ahead of "main"?
- Index(es):
Relevant Pages
|