Comments before variables or statements must add additional information to these lines to explain what is happening. In this comment, DO NOT simply tell the reader what you are doing in English. The size of the comment should be proportional to the size of the code that it refers to. DO NOT put a comment on the same line as code. If it's not important enough to warrant a complete sentence, it does not need a comment.
Declarations When declaring a global function in a header file, use an explicit extern.
ANSI C allows it to be an error for function or variable declarations to appear at file scope in more than one place in a program. Header files should only contain type definitions and declarations. This is why extern is required to appear everywhere except on the real definition. For functions, provide a full ANSI C prototype. Although the ANSI standard makes some unavoidable requirements in the standard library, we don't need to widen the problem any further.