读者,
任何人都可以向我解释当我运行这段错误代码时我的计算机会发生什么。使用 gnu gcc 编译器编译。在代码块中。
这是错误代码:
char data[5];
data[0] = '1';
data[1] = '10';
data[2] = '30';
data[3] = '50';
if(sizeof(data) == 5)
{
adjust(data);
}
sizeof(data) 是 5,因为我声明了 char data[5]。
如果我尝试读取数据 [1],我注意到它会返回最后一个字符。' 0'或'48'。
所以我想知道,data[1] 中的“1”会发生什么,我的记忆会发生什么?