ホームページ >バックエンド開発 >C#.Net チュートリアル >C言語のアドレス演算子とは何ですか?

C言語のアドレス演算子とは何ですか?

烟雨青岚
烟雨青岚オリジナル
2020-07-03 10:29:1423402ブラウズ

C言語のアドレス演算子は「&」です。 「&」は単項演算子として機能し、結果は右オペランド オブジェクトのアドレスになります。アドレス自体は、メモリ内のオブジェクトの論理位置を表すために使用される抽象的な概念です。

C言語のアドレス演算子とは何ですか?

C 言語のアドレス演算子は「&」です。

例:

#include <stdio.h>
int main(void)
{
    int a = 0;
    int *p = &a;
    printf("The value is: %d/n", *p);
    return 0;
}

&単項演算子の場合、結果は右オペランド オブジェクトのアドレスになります。

たとえば、&x は x のアドレスを返します。

アドレス自体は、メモリ内のオブジェクトの論理的な位置を表すために使用される抽象的な概念です。オブジェクトに関しては、LZ はそのオブジェクトに定数、変数、その他のデータが含まれていることを認識するだけで済みます。

scanf("%d,%d",&x,&y);

ここでの &x は x のアドレスを表し、&y は y のアドレスを表します。 scanf はアドレスを受信し、キーボード (より正確には stdin 入力ストリーム バッファ) から読み取られた情報をフォーマット文字列の形式で処理し、受信したアドレスに格納します。純粋な C の場合、関数のパラメーターは、変数パラメーターではなく値パラメーターのみにすることができます。関数内のパラメーターへの変更は、パラメーター自体にのみ影響し、関数が呼び出されたときの実際のパラメーター (つまり、関数の内部にあるもの) には影響しません。関数は単なるコピーです)。したがって、x 自体をここで scanf に渡すことはできません。値を x に格納できるように、アドレス &x を使用して値を格納する必要がある場所を指定する必要があります。

関数と伝達関数パラメーターへのポインターを系統的に学習した後、LZ はこれをより明確に理解できるようになります。

キーボードの読み取り作業に関しては、コンパイル環境 (オペレーティング システムの最下層を含む) によって行われ、C 言語自体とは関係ありません。

推奨チュートリアル: "C言語"

以上がC言語のアドレス演算子とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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