私はこのコードのブロックで混乱しています:ポインタC++説明
ipPtr = ipPtr + 3; // 5
cout << *ipPtr << endl;
はcout
は5が、いくつかのランダムな多数ではないのはなぜ?誰でも私に説明してください。私の理解として、cout << *ipPtr << endl;
はその上の*ipPtr
を指していると思った。私は正しい?
#include <iostream>
void main(){
using namespace std;
int iaArray[] = {1,2,3,4,5};
int* ipPtr = 0;
ipPtr = &(iaArray[1]);
cout << *ipPtr << endl;//2
++ipPtr;
cout << *ipPtr << endl;//3
ipPtr = ipPtr + 3; //not 5 but random number.
cout << *ipPtr << endl;
}
あなたは配列の終わりを指しています。配列のサイズは5で、乱数を得る理由の6番目の要素を指しています。 2 + 1 + 3 = 6 not 5 :) –
あなたは答えの1つを受け入れるつもりですか? –