title: What the difference between these two C-declaration in memory?
body: <p>What is the difference between these two declarations ? How are such variables used in C programs ? Thank you.</p>
  <hr />
  <p><code>char *names[20];</code></p>
  <p><code>[]</code> takes precedence over <code>*</code>, so the interpretation is: <code>names</code> is an array of size <code>20</code>. Each array element is of type pointer to <code>char</code>.</p>
  <hr />
  <p><code>char (*place)[10];</code></p>
  <p>In case of using parentheses to override the precedence, the <code>*</code> is applied first: <code>place</code> is a pointer to an array of size <code>10</code>. Each array element is of type <code>char</code>.</p>