検索

ホームページ  >  に質問  >  本文

c++ - 为什么指向数组的指针在自增时和普通指针自增时情况不同?

ringa_leeringa_lee2804日前586

全員に返信(1)返信します

  • PHP中文网

    PHP中文网2017-04-17 15:33:06

    ポインター 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
  • キャンセル返事