c++ - 为什么指向数组的指针在自增时和普通指针自增时情况不同?
ringa_lee
ringa_lee 2017-04-17 15:31:06
0
1
593

ringa_lee
ringa_lee

ringa_lee

全員に返信(1)
Ty80

ポインター p が配列の i 番目の要素を指す場合、p+n、n+p、および p-n はそれぞれ i+n、i+n、および i-n 要素を指します。
ここで、p が指す要素は配列であるため、p+1 は配列内の次の配列を指します。これは、他の場合 (int を指す場合など) の動作と一致します。

注: コード内の cout 行には未定義の動作が含まれています。

を参照してください。

には int array[10][20], (*p)[20] = array;

があります
  • std::cout << p++; の出力は、std::cout << p; を出力する &array[0] と同じです。

  • std::cout << ++p; の出力は、std::cout << p+1; を出力する &array[1] と同じです。

  • std::cout << p++; std::cout << ++p;&array[0]&array[2] を出力します。

  • std::cout << p++ << " " << ++p;未定義の動作が含まれており、プログラムの出力を推測できません。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート