title: Assigning address of an int to a char pointer
body: <p>In the following program, suppose a is stored at address 1000 and an int takes up 4bytes of storage. Now, c will point to the base address ie, 1000 and incrementing it by 3 will make it point to address 1003. Now, printing the character pointed to by c must give me the character corresponding to ascii 65. But it prints nothing!</p>
  
  <pre><code>#include&lt;stdio.h&gt;
  #include&lt;stdlib.h&gt;
  
  int main(){
      int a = 65;
      char *c = &amp;a;
      printf("%c\n", *(c+3));
  }
  </code></pre>
  
  <p>What is wrong in my reasoning?</p>