I need a really clear, talking to a 4-year-old-type explanation of the uses of static and extern and other methods of making variables and constants visible from various pieces of a program. I have been using them for months now (I thought successfully) but am getting more and more confused; each time I think I have it figured out I get some different result when I try repeating the procedure. I will give 400 points to someone who can give me all of the information I need.
Include information on what order things need to be read in, if you have a variable defined in one file and want to access it from many others, where the variable should be first declared, etc. I'm looking for a complete tutorial on using "global" vars in msvcpp5.