title: How are different types stored in memory
body: <p>I am currently writing a C program involving dealing with bytes. When it comes to bytes, I'm really confused about the following questions.</p>
  
  <ol>
  <li><p>Are characters stored in memory by their ascii codes? Say 'A' has anscii code 65. So it's stored in memory the same way as integer 65?</p></li>
  <li><p>If so, how does the machine distinguish a character and an integer?</p></li>
  <li><p>If characters are stored by ascii codes, an ascii code is an integer. An integer should occupy at least 2 bytes, how come a character only occupy 1 byte?</p></li>
  <li><p>The last one is about integers on different architectures. On a 16-bit machine, if 1 is stored as 000...0001, then on a 32-bit machine, is 1 still stored the same way just adding 0 at the front?</p></li>
  </ol>