I wrote this piece of code and was expecting a segmentation fault quicly, but it seems I am allowed to access pieces of memory I shouldn\'t be able to.
#inc
When you're using out-of-bound memory, you'll be facing Undefined behavior. You cannot define something called Undefined behavior
.
In your case, it is happening at i = 1000
s, in others' case it may very well happen at i=347
or so..
Segmentation fault is the result of accessing memory outside the allowed stack address space of your program. it may run properly and surprise you with apparent proper working if you finish your execution within that memory range. an out-of-bound
access may produce vaild memory access till the point you're not crossing the stack memory region.
Consider yourself lucky if you get a segmentation fault, because that tells you, something's wrong. Otherwise, you have no idea of the resulting horror.
Note: as a suggestion, the question title should be changed to .. comes up very late
or something simmilar