Cの1,2級ポインタ
1479 ワード
先着セグメントコード
解釈:ポインタは実は1つのアドレスの上のpも実は1つのスタックの上の変数で、ただそれが格納するのは他のデータのアドレスです:&a==pで、それでは1つの変数としてそれも自分のアドレス&p 1も1つのポインタの変数で、ただ彼は針を指すポインタで、言うのは比較的に抽象的で、実際にまだあの初学の時私は*を見た時と迷ったが、それを見ないか無視すればいい.それは自分がポインタのタイプであることを明らかにしただけだ.例えばblockに^があり、閉じている->があり、構造体にstructがあるなど.そうしないと、ポインタが基本的なタイプであることをどうして知っているのだろうか.ポインタとしては、実際には変数であり、その内容は変数です.
ではp=&aはaのアドレスに変数pを付与することであり、pはコンパイラに&aすなわちpのアドレスに基づいて対応するメモリ空間に変数aの値を操作する必要があることを教える.ここでPのintpとは異なる前者は、後者がCを表す構造型ポインタ変数のフラグであり、それ以外は卵用ではない.では、pは変数として自分の覚悟を持っていなければなりません.スタックにストレージコントロールを開くのは辛いですか.アドレスもあります.ここで、pとpは違います.pはp自身のアドレスです.pはpが指すストレージ空間のアドレスです.
では、変数p 1は変数として必ず自分のアドレスを持っていなければなりませんへへ&p 1は&pポインタを見るときは必ず前の番号を見ないでください.ポインタがクリアされていることに気づきますへへ.p 1がポインタ変数pのアドレスを見てください.それはきっと人aとは関係ありません.p 1考えてみてください.ここの私は前に言いました.それはコンパイラに対応する変数の記憶コントロール、つまりpの値を操作するように伝えています.では、pはポインタ変数としてアドレスを記憶するために使われています.だから、p 1は実はpですか.辛い問題が来て私たちはp 1==p=&aを知っていて、前に1つのアドレスとして記号でアドレスの対応する空間の値を操作することができることに言及したので*p 1は==p=aラです.以上は私の二級指針に対する少しの見方で、勝手に書いて、書き間違えて倒しました...
int a = 90;
int *p;
p = &a;
*p = 3;
int **p1 = &p;
printf("%p
%p
",p1,&p);
putchar('
');
putchar('
');
printf("%p
%p
%p",*p1,&a,p);
putchar('
');
putchar('
');
printf("%d
%d
%d",**p1,a,*p);
putchar('
');
解釈:ポインタは実は1つのアドレスの上のpも実は1つのスタックの上の変数で、ただそれが格納するのは他のデータのアドレスです:&a==pで、それでは1つの変数としてそれも自分のアドレス&p 1も1つのポインタの変数で、ただ彼は針を指すポインタで、言うのは比較的に抽象的で、実際にまだあの初学の時私は*を見た時と迷ったが、それを見ないか無視すればいい.それは自分がポインタのタイプであることを明らかにしただけだ.例えばblockに^があり、閉じている->があり、構造体にstructがあるなど.そうしないと、ポインタが基本的なタイプであることをどうして知っているのだろうか.ポインタとしては、実際には変数であり、その内容は変数です.
ではp=&aはaのアドレスに変数pを付与することであり、pはコンパイラに&aすなわちpのアドレスに基づいて対応するメモリ空間に変数aの値を操作する必要があることを教える.ここでPのintpとは異なる前者は、後者がCを表す構造型ポインタ変数のフラグであり、それ以外は卵用ではない.では、pは変数として自分の覚悟を持っていなければなりません.スタックにストレージコントロールを開くのは辛いですか.アドレスもあります.ここで、pとpは違います.pはp自身のアドレスです.pはpが指すストレージ空間のアドレスです.
では、変数p 1は変数として必ず自分のアドレスを持っていなければなりませんへへ&p 1は&pポインタを見るときは必ず前の番号を見ないでください.ポインタがクリアされていることに気づきますへへ.p 1がポインタ変数pのアドレスを見てください.それはきっと人aとは関係ありません.p 1考えてみてください.ここの私は前に言いました.それはコンパイラに対応する変数の記憶コントロール、つまりpの値を操作するように伝えています.では、pはポインタ変数としてアドレスを記憶するために使われています.だから、p 1は実はpですか.辛い問題が来て私たちはp 1==p=&aを知っていて、前に1つのアドレスとして記号でアドレスの対応する空間の値を操作することができることに言及したので*p 1は==p=aラです.以上は私の二級指針に対する少しの見方で、勝手に書いて、書き間違えて倒しました...