Software Engineers Handbook/Language Dictionary/C

C
looking for the story of C here

Type
C is a full, procedural language.

Execution Entry Point
An executable starts with the main method.

General Syntax
The typical statement is completed by a semi-colon. For the assignment of b to a use:

Comments
Block comments are specified by a starting /* and ending */ They can span multiple lines.

Variable Declarations
Declarations need to appear at the top of the scope.

Declare i as an integer:

Declare i as an integer and give it an initial value of 0:

Method Declaration/Implementation
Methods are declared by specifying the interface for the method.

Method implementation repeats much of the same information

Scope
Scope is defined by curly braces.

Conditional Statements
If and only if A is equal to B assign C to D, otherwise, assign E to F.

or

Alternatively, a switch statement can be used for multiple choice operations. This sample converts a number input to text.

Looping Statements
This code counts from 0 to 9, adding up the contents of the array.

This code repeats until the number 4 is found. If this runs off of the end of the array, there could be a problem.

This code increments the counter before the check is made, so that it starts with element 1.

Containers
struct

Algorithms
Implement your own, or find a library.

Garbage collection
Garbage collection is manual.

Physical Structure
Generally, the interfaces are defined before the implementation in header files (often *.h) or above the implementation. The implementation files are often named *.c. Useful collections of classes can be compiled into libraries, often *.dll, *.a, or *.so, which can be compiled into executables (statically linked) or used on the fly (dynamically linked).

Tips
Don't confuse these two: = // assignment == // comparison, is equal to Often using the one you don't want will compile, and will produce results you did not expect.

A good practice is to write; if(CONSTANT == variable) rather than if(variable == CONSTANT) since the compiler will catch; if(CONSTANT = variable) but not if(variable = CONSTANT).

Use a compiler that generates lots of helpful warnings, even if the code is valid. You could also / instead use a program such as 'lint'. This will help you avoid simple bugs such as the above-mentioned bug "if ( x = 1 )" instead of "if ( x == 1 )".

Arrays start with index 0.

Web References
''List additional references on the web. Please include for what level reader the references are appropriate. (beginner/intermediate/advanced)''

Books and Articles
need references

The C programming language: (sample link: http://cm.bell-labs.com/cm/cs/cbook/ )