title: What does the declaration '(int *) ptr[N]' mean in C?
body: <p>I found a puzzling array when I tried to put parenthesis to emphasize the declaration of array of pointers as in <code>(int *) ptr[N];</code>. </p>
  
  <p>The GCC C compiler says:</p>
  
  <p><code>error: ptr undeclared (first use in this function)</code>.</p>
  
  <p>Can anyone explain the origin of the error please?</p>