ホームページ > バックエンド開発 > C++ > C の `*ptr `、` *ptr`、および ` ptr` の違いは何ですか?

C の `*ptr `、` *ptr`、および ` ptr` の違いは何ですか?

DDD
リリース: 2024-12-23 21:07:14
オリジナル
565 人が閲覧しました

What's the Difference Between `*ptr  `, `  *ptr`, and `  ptr` in C?

ポインター式の理解: ptr 、 ptr、および *ptr

C プログラミングでは、これら 3 つの式は一般にポインターとそれが指す値を操作するために使用されます。ポインターを効果的に操作するには、その動作を理解することが重要です。

1. *ptr

  • この式は、効果的に最初にポインタを逆参照し、ポインタが指す値を返します。
  • その後、ポインタをインクリメントします。 を 1 単位ずつ指定し、配列内の次の要素または配列内の次の文字を指します。 string.
  • たとえば、ptr が配列の最初の要素を指す場合、*ptr はその要素の値を返し、2 番目の要素を指すように ptr をインクリメントします。

2. * ptr

  • 前の式とは異なり、この式は最初にポインタを 1 単位ずつインクリメントします
  • その後、ポインタを逆参照します。 、ポインタが現在指している値を返します。
  • これは便利です現在のポインターを参照解除せずに次の要素の値にアクセスする必要がある場合。

3. *ptr

  • この式は、ptr が指す位置の値を直接インクリメントします。
  • 最初にポインターを逆参照します、それが指す値を返します。
  • その後、値を 1 単位ずつ増分します。
  • これは、ptr が指す値を変更するために使用できます。

例:

int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr;

printf("%d ", *ptr++); // Prints 1 and increments ptr to the second element
printf("%d ", *++ptr); // Increments ptr to the third element and prints 3
printf("%d\n", ++*ptr); // Increments the value at the third element and prints 4
ログイン後にコピー

出力:

1 3 4
ログイン後にコピー

以上がC の `*ptr `、` *ptr`、および ` ptr` の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート