我创建了一个数组
int A[5] = {2,4,6,8,10};
并做了两个指针
int *p=A, *q=&A[5];
因为数组中只有五个元素,据我在 C++ 中的理解,当什么都没有时它应该为零。
当我尝试打印时
cout<<"*p = "<<*p<<endl;
cout<<"*q = "<<*q<<endl;
我得到了这个
*p = 2
*q = 32766
我可能对指针p有误,它默认指向第一个元素。
但我不明白为什么在指针q中打印出如此巨大的值,即使它甚至不是堆中的内存地址。
有人可以向我解释发生了什么吗?