>>No.60417749
没有野指针啊,所有的指针的值都很明确
假如数组 a 的地址值是 0,那么指针 &a 的值是0
指针 &a+1 的值是 0 + sizeof(a), 而sizeof(a) = sizeof(int) * 3, 所以 &a+1 的值是 0+sizeof(int) * 3
由于数组类型的特殊性质,*(&a+1) 的值也是 0+sizeof(int) * 3,即 *(&a+1) == &a+1
又因为*(&a+1) 的类型也是数组(一个实际上不存在的数组),*(&a+1) - 1 的地址值是 0+sizeof(int) * 3 - sizeof(int) = 0+sizeof(int) * 2,并且*(&a+1) - 1 的类型是 int*
*(*(&a+1) - 1) 是对 *(&a+1) - 1 解引用的值,由此可知,*(*(&a+1) - 1) 就是第三个元素的值。