Memory - illegal accesses:negative array index read
负的数组索引读取
This is only valid if arr
is a pointer that points to the second element in an array or a later element. Otherwise, it is not valid, because you would be accessing memory outside the bounds of the array. So, for example, this would be wrong:
int arr[10];
int x = arr[-2]; // invalid; out of range
But this would be okay:
int arr[10];
int* p = &arr[2];
int x = p[-2]; // valid: accesses arr[0]
It is, however, unusual to use a negative subscript.
详细:http://stackoverflow.com/questions/3473675/are-negative-array-indexes-allowed-in-c
时间: 2024-10-11 22:50:03