ely*_*hiv 2 c c++ pointer-arithmetic multidimensional-array
我写了以下代码:
#include <iostream>
using namespace std;
int main()
{
int a[10][10];
for (int i = 0; i < 10; i++)
for (int j = 0; j < 10; j++)
a[i][j] = i * j;
cout << *(*(a + 3) + 4) << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我期待它打印一些垃圾数据或分段错误.我得到的是12.我用c和c ++(分别使用gcc和g ++)对它进行了测试,虽然我没有对此进行测试,但我在VS上的工作原理相同.为什么这样做,是否有这种行为的官方文档?