私はいくつかの基本的なポインター操作を試みていましたが、明確にしたい問題があります。これが私が参照しているコードスニペットです
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;
私の問題は次のとおりです。 for-loop の外で arr+3 にアクセスしようとすると、目的の値 55 が出力されます。しかし、for ループを介してアクセスしようとすると、別の値 (この場合は 3) が得られます。for ループの後、値が 4 として出力されます。何が起こっているのか説明してもらえますか? 前もって感謝します..