title: Understanding volatile variables in C
body: <p>I'm currently learning C in class and I'm having some confusion understanding volatile variables. My textbook defines them as this.</p>
  
  <p><strong>Volatile Variables</strong></p>
  
  <blockquote>
    <p>The volatile variables are those variables that are changed at any time by other external
    program or the same program. The syntax is as follows.
    <code>volatile int d;</code></p>
  </blockquote>
  
  <p>What is exactly the difference between the normal variables and volatile variables? If volatile variables can be changed by external programs, how can I change the value from another external program.</p>
  
  <p>Thanks.</p>