Wie man einen Zeiger auf den letzten Wert in einem Array zeigt

#include <stdio.h>

int main( void )
{
    int a[4] = { 0, 1, 2, 3, };

    int *p = (int *)(&a + 1) - 1;

    return 0;
}
intricate_symbol