title: How to increment a dereferenced double pointer?
body: <p>In code I would typically use:</p>
  
  <pre><code>#include &lt;stdlib.h&gt;
  
  void dref1(char **blah)
  {
      (*blah)[0] = 'a';
      (*blah)[1] = 'z';
      (*blah)[2] = 0x00;
  }
  
  /* or */
  
  void dref2(char **blah)
  {
      char *p = *blah;
  
      *p++ = 'w';
      *p++ = 't';
      *p = 0x00;
  }
  
  
  int main(void)
  {
      char *buf = malloc(3);
  
      dref1(&amp;buf);
      puts(buf);
      dref2(&amp;buf);
      puts(buf);
      free(buf);
  
      return 0;
  }
  </code></pre>
  
  <p>My question is if it is possible / how to dereference and increment pointer directly:</p>
  
  <pre><code>**blah = 'q';       /* OK as (*blah)[0] ? */
  (*blah)++;          /* Why not this? */
  *((*blah)++) = 'w'; /* ;or. */
  ...
  </code></pre>