When working with arrays most programming languages perform ________ to ensure that programs don't use invalid subscripts.
1)Bitwise data execution
2) buffer overrun protection
3) array bounds checking
4) subscript totalling