title: How garbage values are assigned to variables in c
body: <p>C code : </p>
  
  <pre><code>int a;
  printf("\n\t %d",a); // It'll print some garbage value;
  </code></pre>
  
  <p>So how does these <strong>garbage</strong> values are assigned to uninitialized variables behind the curtains in C?</p>
  
  <p>Does it mean C first allocates memory to variable 'a' and then what ever there is at that memory location becomes value of 'a'? or something else?</p>