我正在嘗試一些基本的指針操作,並有一個問題,我想澄清。這裏是代碼片段我指的是指針故障
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個值。 –