之前遇到一段代码错误,
int a;
int b;
int c;
float *v;
v += a * b * c;
v[0] 导致内存错误
后面查询原因是由于,a * b * c的值是可能会大于int的值的,这会导致int值溢出,出现错误的结果。因此会导致不会按照我们所预想的方向是寻找地址。
而寻找了一个非法地址,这会导致内存错误。
之前遇到一段代码错误,
int a;
int b;
int c;
float *v;
v += a * b * c;
v[0] 导致内存错误
后面查询原因是由于,a * b * c的值是可能会大于int的值的,这会导致int值溢出,出现错误的结果。因此会导致不会按照我们所预想的方向是寻找地址。
而寻找了一个非法地址,这会导致内存错误。