title: Volatile keyword in microcontrollers
body: <p>The <code>volatile</code> keyword tells the compiler not to optimize the variable which is prefixed. The variable may change during run time by unknown source (not known by the compiler) maybe by an external interrupt etc. </p>
  
  <p>Is there any other advantage of <code>volatile</code>?
  Does <code>volatile</code> apply to reading from files?</p>