title: When subtracting two pointers in C
body: <p>I was playing with pointers in order to fully get the concept and then wanted to subtract two pointers expecting the distance between these two addresses or something, but apparently I was wrong, so here is my code.</p>
  
  <pre><code>int x = 5, y = 7;
  int *p = &amp;y;
  int *q = &amp;x;
  printf("p is %d\nq is %d\np - q is %d", p, q, (p - q));
  </code></pre>
  
  <p>Why does the program output <code>p - q is 1</code>? Thank you.</p>