title: Is `*((*(&array + 1)) - 1)` safe to use to get the last element of an automatic array?
body: <p>Suppose I want to get the last element of an automatic array whose size is unknown. I know that I can make use of the <code>sizeof</code> operator to get the size of the array and get the last element accordingly.</p>
  
  <p><strong>Is using <code>*((*(&amp;array + 1)) - 1)</code> safe?</strong></p>
  
  <p>Like:</p>
  
  <pre><code>char array[SOME_SIZE] = { ... };
  printf("Last element = %c", *((*(&amp;array + 1)) - 1));
  </code></pre>
  
  
  
  <pre><code>int array[SOME_SIZE] = { ... };
  printf("Last element = %d", *((*(&amp;array + 1)) - 1));
  </code></pre>
  
  <p>etc</p>