int a[50];
int b;
b=a[-1];

こんなコードを書いても、コンパイラはエラーを出さなかったのですが
明確にエラーだと言えない理由があるのでしょうか?
例えば本当にこんな使い方をする場面があるとか・・・