ホームページ >バックエンド開発 >C#.Net チュートリアル >C言語の*aとaの違い
C言語では、aは変数aのメモリアドレスへのポインタであり、aは通常の変数です。 a は a に値を格納し、a はそれ自体の値を格納します。 a は参照を解除することで指定された値にアクセスしますが、 a は自身の値に直接アクセスします。 &a は a のメモリ アドレスを返し、a は値を指すメモリ アドレスを返します。
#C 言語の *a と a の違い
C 言語では、*a と
a は 2 つの異なる概念であり、それらの主な違いは次のとおりです。
はへのポインターです。
a は変数のメモリ アドレスへのポインタ、##a
は通常の変数です。
a
変数に格納されている値、および a
自体の値です。
*
) および a
Only を介して、それが指す値にアクセスできます。独自の値に直接アクセスできます。
a
変数のメモリ アドレスを返し、*a
は a## を返します。 # 変数 格納された値のメモリアドレス。
ポインタ (*a):
のメモリ アドレスへのポインタを表します。そのメモリ アドレスに格納されている値には、逆参照演算子 (
*) を介してアクセスできます。
変数 (a):
逆参照: は、
a ポインタが指すメモリ アドレスに格納されている値を取得することを意味します。
アドレス演算子: は、
a 変数のメモリ アドレスを返します。
<code class="c">int a = 10; int *p = &a; printf("变量 a 的值:%d\n", a); printf("指向 a 的指针 p 的值:%d\n", *p);</code>出力:
<code>变量 a 的值:10 指向 a 的指针 p 的值:10</code>この例では、
a
は 10 の格納値です。変数p は、
a 変数のメモリ アドレスへのポインタです。
*p ポインターを逆参照し、
a 変数に格納されている値 (10) を返します。
以上がC言語の*aとaの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。