"for" loop is generally used when the start and end parameters are known
"while" loop is generally used when the end parameter is variable and might change according to program flow.
"struct" is a named collection of variables where each has a known size and are stored consecutively.
'union' is a named collection of variables where each has a known size and are stored in the same memory space (they can overlap).
'typedef' is a way of renaming a variable type or structure to make the program easier to read. When the 'typedef' name is encountered, the original variable/structure is used by the compiler.
'macro' is a way of grouping one or more statements, sometimes with parameter passing, so they can be used with a single command. The compiler expands the named macro back to the original statements each time it is used.
'logical AND' returns the result of two statements, it is true if the first statement AND the second statement are both true.
'bitwise AND' performs a bit by bit comparison of the binary bits in two numbers, it returns a '1' when the corresponding bits in both numbers is also '1'.
A 'volatile' variable is one in which the value might not be retained as it leaves the scope of a function.
Brian.