Skip to content
- C doesn’t check array boundaries. A segmentation fault will only occur if you try to dereference a pointer to memory that your program doesn’t have permission to access. Simply going past the end of an array is unlikely to cause that behaviour. Undefined behaviour is just that – undefined. It may appear to work just fine, but you shouldn’t be relying on its safety.
- Your program causes undefined behaviour by accessing memory past the end of the array. In this case, it looks like one of your
str[i] = c
writes overwrites the value in i
.
- C++ has the same rules as C does in this case.