The behavior of that code is undefined. Undefined behavior is not "the program will crash". Undefined behavior is "the standard permits a program with undefined behavior to cause demons to fly out your nose". Anything can happen, including nothing.
A segFault will occur when you try to read or write memory that the operating system didn't set aside for your process.
Your array is one little piece of that memory. Writing a single byte over the end of your array will only be a problem if your array happens to be right at the end of that memory.