title: Okay to declare static global variable in .h file?
body: <p>static keyword keeps the scope of a global variable limited to that translation unit.
  If I use         <code>static int x</code> in a .h file and include that .h file every other file, won't they all belong to the same translation unit?
  Then, won't x be visible everywhere?
  So what is the role of static now?</p>
  
  <p>Also, is there any use of <code>static const int x</code> ,where x is a global variable?
  Aren't all const global variables static by default?
  And is a const variable's scope limited to the TU even if it confined in  a for loop in the file?</p>