C言語の* pとの差を、その差のP&P、P * ** pと

以下からの転送のC * pの差が、P&Pさんと

はじめに:

あなたは箱がたくさんある想像することができ、各ボックスは、対応する番号を持って、データを理解し、対処する必要がある、その数は、「アドレス」ボックスと呼ばれていると呼ばれるもの置く「データを。」
* pとPとの違いを理解する上の段落は、説明するのは難しいことではありません。
pはアドレスを格納するために使用されるポインタ変数であり、あなたは上記の例数を考えることができ、「*」間接参照演算子である、あなたはボックスを開くためにそれを理解することができ、pは数pボックス開いて、内部を削除データ。
簡単に言えば、あなたは覚えている、それは、pのアドレスであり、そして
pは、データを取得するためにそのアドレスに移動するためのプログラムです。

要約:

私たちは、ポインタpを定義するとします。
彼らは多くの場合、3つの記号を使用します:
1、P-
2、P-*;
3、およびP-を、
初心者には、多くの場合、これらの3つの記号が何を表しているか最後に、非常に混乱して感じ?

pはポインタ変数の名前は、あなたが出力に%pを使用している場合、それは16進数になりますし、ポインタ変数ポイントのメモリアドレスを示しています。

* Pは、このポインタに格納されたメモリアドレス、及び一般的に均一かつ一定または可変ポインタ型のコンテンツを表します。私たちが知っているように、A&アドレス演算子、P&フェッチアドレスは、ポインタpです。

待って、どのように再び最後にそれに対処し、Pの違いは何ですか?

違い:それは変数であるため、プログラムはint型の私、あなたがメモリ空間の同じ部分を割り当てるコンパイラの変数を定義するように、pだけでなく、ポインタ変数は、コンパイラは必ずあなたは、メモリを割り当てたいです。

&Pは、pの変動分布のメモリアドレス用のコンパイラは述べています、そしてpはポインタ変数であるので、この特別なステータスが必要な手順に従って、別のプログラマを指すメモリアドレスにそれを運命
メモリアドレスを指すように、それは、pで示されたメモリアドレスを指します。また、アドレスの内容は、* pで言うのpによって指されます。

** P * pとの違い

INT * P:アドレスを示すポインタは、int型の値の格納されているPによって指さ
INTを** P:アドレスを示すポインタは、int型のポインタへのポインタを格納されているPによって指さ2つ(すなわち、 intへのポインタへのポインタを格納されているのアドレス)にP点
例:
int型I = 10、整数変数の//定義
INT * P =&I; //変数へのポインタを定義
INT ** P1 =&P; //ポインタは、二つのポインタpを定義する
、モード10の値と:
;のprintf( "I = [Dの%] \ N-"、* P)
のprintf(「私は= [D%] \のN- 」、** P1)。

おすすめ

転載: blog.csdn.net/weixin_43115440/article/details/93475460