It's NOT error prone... It simply assumes that the programmer REALLY wants to do what you told it to do. I learned C out of the 1st edition of the "White Book." Back before the ANSI standard and sissy features foisted on the users of other languages, like type checking and boundary checking on arrays: You must have had a reason to write to the 3000th element of that 10 element array!
Mark
The most dreadful words from my Microprocessors prof in school: “it’s doing EXACTLY what you told it to” and walked away (it was ASM then, but the story is the same for C).
Actually... Some of us used that on purpose to write directly to memory.
And then came heap and stack and garbage collection.
And Firefox, with it's massive memory leak.
/johnny