開発 間接演算子とは何ですか? -techopediaからの定義

間接演算子とは何ですか? -techopediaからの定義

目次:

Anonim

定義-間接演算子とはどういう意味ですか?

C#のコンテキストでの間接演算子は、ポインターが指す変数の値を取得するために使用される演算子です。 変数を指すポインターは、メモリアドレスに格納されている変数の値への間接アクセスを提供しますが、間接演算子はポインターを逆参照し、そのメモリ位置にある変数の値を返します。 間接演算子は、記号(*)で表される単項演算子です。


間接演算子は、整数へのポインターへのポインター、整数へのポインターの1次元配列、charへのポインター、および不明な型へのポインターで使用できます。


間接演算子は、逆参照演算子とも呼ばれます。

Techopediaは間接演算子を説明します

(*)記号は、ポインタータイプの宣言とポインターの間接化の実行に使用され、「address-of」演算子()は変数のアドレスを返します。 したがって、間接演算子とアドレス演算子は互いに逆です。


C#では、安全でない領域でのみポインターを使用できます。これは、その領域内のコードの安全性が共通言語ランタイム(CLR)によって検証されないことを意味します。 安全でない領域では、間接演算子はポインタの読み取りと書き込みを許可されます。 次のC#ステートメントは、間接演算子の使用法を示しています。

  • int a = 1、b; // ライン1
  • int * pInt =&a; // 2行目
  • b = * pInt; // 3行目
上記の最初の行では、aとbは整数変数であり、aには値1が割り当てられています。2行目では、aのアドレスが整数ポインターpInt(2行目)に格納されています。 3行目で参照解除演算子を使用して、pIntが指すアドレスの値を整数変数bに割り当てます。


間接演算子は、実行時の未定義の動作を回避するために、それが指す型に合わせたアドレスを持つ有効なポインターを間接参照するために使用する必要があります。 コンパイラエラーを回避するために、voidポインターまたはポインター型ではない式には適用しないでください。 ただし、voidポインターを正しいポインター型にキャストした後、間接演算子を使用できます。


単一のステートメントで複数のポインターを宣言する場合、間接演算子は、基礎となる型で一度だけ記述し、各ポインター名に対して繰り返さないでください。 間接演算子は、CやC ++とは異なり、C#で分配的です。 間接演算子がNULLポインターに適用されると、実装定義の動作になります。 この演算子は安全でないコンテキストで使用されるため、コンパイル中に/ unsafeオプションと一緒にキーワードunsafeを使用する必要があります。 この定義はC#のコンテキストで記述されました

間接演算子とは何ですか? -techopediaからの定義