title: Why is the output of this C program 64 and not 320?
body: <pre><code>#include &lt;stdio.h&gt;
  
  int main() {
      int a = 320;
      char *ptr;
  
      ptr = (char *)&amp;a;
      printf("%d", *ptr);
  
      return 0;
  }
  </code></pre>
  
  <p>I was expecting the output to be <code>320</code> but instead I'm getting <code>64</code>. What is the reason for this?</p>