One of the best quality of life fixes D has over C (and by extensions C++) is getting rid of this complexity. In D you can simply go right-to-left. So instead of having<p><pre><code> char *str[10];
</code></pre>
you'd have<p><pre><code> char*[10] str;
</code></pre>
which when read right-to-left trivially results in "str is a array 10 of pointer to char"
More readable version with ascok art, as the spiral rule:<p><a href="http://c-faq.com/decl/spiral.anderson.html" rel="nofollow">http://c-faq.com/decl/spiral.anderson.html</a>