Nope; rhis one of the most common errors in C/C++ programming. You can over run the array boundaries, and you will get what is called undefined behavior. You might get a seg fault, but more likely you will just read a section of randomized memory. It depends where in the segment your array is situated. If it is located on the boundary of the segment and the overrun causes you to read past that boundary, and if the adjacent segment is locked for reading to the program, then yes, it will cause a seg fault. otherwise no.