title: Meaning of *(&a – i) in a for loop. Is that multiplication?
body: <p>I am preparing for an upcoming exam when I came across this:</p>
  <blockquote>
  <pre><code>char a = 'a';
  char b = 'b';
  int ai[] = { 1, 2 };
  int i = 0;
  </code></pre>
  <p>Assume that word size is 32 bits, that an int is 32 bits and that memory allocations are made in the reverse order to the declarations starting at address location 68.</p>
  <p>Draw a diagram that shows the effect of executing the following lines of code.</p>
  <pre><code>for (i = 0; i &lt; 8; i++)
      *(&amp;a – i) = 'z';
  </code></pre>
  </blockquote>
  <p>It might sound weird, but I am a newbie to C and it is the first time I've seen multiplication of a for loop. Explanation to this for loop and the multiplication applied to it would be appreciated.</p>