 <pre><code>char (*po)[10]; </code></pre> <p>is a pointer to an array of 10 <code>char</code> items.</p> <p>An array expression doesn't decay to a pointer to itself-as-array. It decays (when it does) to a pointer to first item. Hence, the need for applying address operator, and also the error message you got about being unable to convert the array expression to a pointer-to-array.</p>