Ciao a tutti. Chi sa dirmi il perche' mi permette di andare oltre la size dell'array?

codice:
  int a[10];
  
  a[0] = 255;
  a[11] = 255; //Perche' mi permtte di superare l'array ????
In memoria quando eseguo il programma senza nessun problema vedo effettivamente i due FF in posizione 0 e 11 come di seguito preso dal memory debug di visual studio

0x0030F854 ff 00 00 00 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
0x0030F86D cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc ff 00 00 00 d4 f8

Grazie