我正在尝试一些基本的指针操作,并有一个问题,我想澄清。这里是代码片段我指的是指针故障
int arr[3] = {0};
*(arr+0) = 12;
*(arr+1) = 24;
*(arr+2) = 74;
*(arr+3) = 55;
cout<<*(arr+3)<<"\t"<<(long)(arr+3)<<endl;
//cout<<"Address of array arr : "<<arr<<endl;
cout<<(long)(arr+0)<<"\t"<<(long)(arr+1)<<"\t"<<(long)(arr+2)<<endl;;
for(int i=0;i<4;i++)
cout<<*(arr+i)<<"\t"<<i<<"\t"<<(long)(arr+i)<<endl;
//*(arr+3) = 55;
cout<<*(arr+3)<<endl<<endl;
我的问题是: 当我尝试存取权限编曲+ 3外的for循环,我得到印刷所需的值55。但是当我尝试通过for循环访问它时,我得到了一些不同的值(在这种情况下为3)。在for循环之后,它将值打印为4.有人可以向我解释发生了什么?在此先感谢..
你声明大小为3的数组,并为其分配4个值。 –