ホームページ  >  記事  >  バックエンド開発  >  i++ と ++i の違いと例

i++ と ++i の違いと例

angryTom
angryTomオリジナル
2020-02-28 10:43:5064516ブラウズ

i++ と ++i の違いと例

i と i の違いと例

i と i コマンドの違いは次のとおりです:

1 、割り当ての順序が異なります

i が最初に追加されてから割り当てられます。i が最初に割り当てられてから追加されます。i と i は両方とも 2 つのステップで完了します。

i には次のステップで値が割り当てられるため、i = a =b というカスケード代入の変数として使用できます。つまり、i は左辺値であり、i の次のステップは自動です。 -increment、左側の値ではありません。

画像の理解は、最初に他のことをしてからそれ自体に 1 を追加する、最初にそれ自体に 1 を追加してから他のことを行う、ということになります。

推奨学習: c 言語ビデオ チュートリアル

例:

a = i、i=i 1 と同等; a = i;

a = i、これは a = i; i=i 1;

2 と同等です。効率は異なります

#例: i= 3. b=i は b=3 を意味します。完了後、i を 4 にします。b=i は、まず i を 4 にして、次に b=4 にすることを意味します。ここで、i は i よりも効率的です。一般に、ループ領域では両者に大きな違いはありませんが、そのライフサイクルとプログラムフローにおける i 値の変化に注意する必要があります。

3. i は左辺値として使用できませんが、使用できます。

左辺値は、メモリ内の特定の記憶アドレスを持つオブジェクトに対応する式の値であり、右辺値は左辺値ではないすべての式の値です。一般に、左辺値は代入記号の左側に配置できる変数です。

しかし、値を割り当てることができるかどうかは、左辺値と右辺値を区別するための基礎ではありません。たとえば、C の const lvalue は代入できませんが、一時オブジェクトである rvalue は代入できます。左辺値と右辺値の基本的な違いは、アドレスと演算子が対応するメモリ アドレスを取得できるかどうかです。

例:

int i = 0;
int *p1 = &(++i);//正确
int *p2 = &(i++);//错误
++i = 1;//正确
i++ = 1;//错误

PHP 中国語 Web サイト、多数の

プログラミング入門 チュートリアル、学習へようこそ!

以上がi++ と ++i の違いと例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。