title: In C is there a technical reason to not use lowercase macro definitions?
body: <p>I'm starting to learn C coming from a background in Java &amp; Javascript and I'm wondering if there is a technical reason for the following being considered bad practice or if it's just the way the language evolved? </p>
  
  <pre><code>#define bool char
  #define false 0
  #define true 1
  #define null NULL
  </code></pre>
  
  <p>Everywhere I look I always see defined variables (if that's the correct word) uppercased and I'm wondering if there is a good technical reason for this convention? I'm sure this must have been asked many times but I can't seem to find an answer.</p>