それはポインタ正確には何ですか?
ポインタは、その値としてchar型文字の変数のような変数のアドレスへのポインタであり、のIntの値は、整数型の変数であり、アドレスポインタ変数によって表される値
名前のポインタ変数がPAS場合は、声明について取得することができます。
PAS =&passwdの
ここではPASに割り当てられたアドレスであるpasswdを
ポインタの必要性シンボル:*&
アドレス演算子(&):変数名が続き、変数&ギブのアドレス
例えば:
&ヌムnumが変数のアドレスを表し、
間接演算子(*):ここでアドレスに格納され、名前またはアドレス・ポインタに続いて、*所与のポイント値をバイナリ操作*(乗算)を表すものではないここに言うこと
例えば:
= 2;
PAS =# //ポインタポインティングnumはPAS
VPS = * PAS; //代入ポイントPASのVPSの値
上記のステートメントは、2つのVPSに割り当てられています
ポインタ宣言:
int型*パイ; // piは整数型変数へのポインタです
char *のp; // pはポインタ変数の文字へのポインタであります
フロート* P、* G; // pおよびgは、浮動小数点ポインタ変数であります
要約:タイプ識別子は可変であることがポイントのタイプを示し、アスタリスク(*)は、変数のポインタであります
ステートメントのInt * PI; PI手段がポインタであり、int型である* PI
次に、結果を確認するためにコードの一部を書い
する#include <stdio.hの> ボイドチャン(INT * P、INT * Q); // ポインタ宣言 INTメイン(ボイド){ int型 X = 5、Y = 15 ; のprintf(" X%=%のDy = D \のN- 「 X、Y); // これは、一般的な出力である チャン(&X&Y); // 関数がどの手段関数プロトタイプ宣言チャンパラメータQこと、代わりにその値のxとyのアドレスが渡され、Pは、したがって、それらはポインタとして宣言されなければならない、その値としてアドレスを使用します。これは、前に宣言されている (printfの" X1 = Y1 = D%D%\ N- " 、X、Y); renturn 0 ; } ボイドチャン(INT * P、INT *Q){ int型のTEMP、 TEMP = * P; * = P * Q; * Q = TEMP; } / * ときにスイッチング機能により、XおよびYは、それがXにアクセスすることができる交換、Y変数のポインタを使用して第1の機能そして*演算子は、あなたは、データを変更することができるように、対応するメモリアドレスの機能データを得ることができます * /
結果: