ホームページ >バックエンド開発 >C++ >C言語の*と&の違いと使い方を詳しく解説

C言語の*と&の違いと使い方を詳しく解説

王林
王林オリジナル
2024-04-03 18:12:011134ブラウズ

C 言語では、ポインタを逆参照して、指定された値を返すために使用されます。& は、アドレスを取得して、変数へのポインタを返すために使用されます。通常、ポインターが指す値にアクセスまたは変更するために使用され、& は通常​​、ポインターを作成するか参照を渡すために使用されます。

C言語の*と&の違いと使い方を詳しく解説

#C 言語の * と & の違いと使い方を詳しく説明

C 言語では、

*# # ポインターを操作する # 演算子と & 演算子の間には重要な違いがあります。

Operator

*(Dereference)

  • Operator は、ポインタを逆参照して値を返すために使用されます。ポインタが指すところ。
  • 構文:
  • *ptrptr は変数へのポインタです。
#例:

int *ptr;
int value = 10;
ptr = &value; // 为 ptr 分配 value 的地址
*ptr = 20; // 将 value 的值修改为 20

Operator

&(アドレスの取得)

    &
  • 演算子は、変数のアドレスを取得し、変数へのポインターを返すために使用されます。 構文:
  • &var
  • var は変数です。
  • #例:

int value = 10;
int *ptr = &value; // 为 ptr 分配 value 的地址
違い

  • 逆参照ポインタ、& 変数アドレスを取得します。
  • は指す値を返し、& は値へのポインタを返します。
  • &
  • は通常、ポインター変数を作成するとき、または関数パラメーターとして参照を渡すときに使用されます。
  • # は通常、ポインタが指す値にアクセスしたり変更したりするときに使用されます。
  • 実際的なケース

以下は、*

演算子と

& 演算子を使用した実際的なケースです。 :

#include <stdio.h>

int main() {
    int value = 10;
    int *ptr = &value; // 为 ptr 分配 value 的地址

    // 使用 * 解引用指针并打印值
    printf("Value: %d\n", *ptr);

    // 使用 * 修改指针所指向的值
    *ptr = 20;

    // 再次使用 * 打印修改后的值
    printf("Modified value: %d\n", *ptr);

    return 0;
}
出力:

Value: 10
Modified value: 20

以上がC言語の*と&の違いと使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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