Wednesday, November 2, 2011

Bounds Checking in C programming language

In C there is no check to see if the subscript used for an array exceeds the size of the array. Data entered with a subscript exceeding the array size will simply be placed in memory outside the array; probably on top of other data, or on the program itself. This will lead to unpredictable results, to say the least, and there will be no error message to warn you that you are going beyond the array size. In some cases the computer may just hang. Thus, the following program may turn out to be suicidal.
main( ) 
int num[40], i ;

    for ( i = 0 ; i <= 100 ; i++ )
    num[i] = i ; 
}
Thus, to see to it that we do not reach beyond the array size is entirely the programmer’s botheration and not the compiler’s.

No comments:

Post a Comment