相違点: 1. 意味が異なります。「*p」はこのポインタが指すメモリアドレスに格納されている内容を表します。「p」はポインタ変数の名前を表し、このポインタが指すメモリアドレスを参照します。このポインタ変数によって。 2. 出力形式が異なり、「*p」は通常ポインタと同型の変数または定数を出力し、「p」は16進数とポインタのアドレスを出力します。 3. 関数は異なります。「*p」はプログラムにそのアドレスに移動してデータを取得するように指示し、「p」はアドレスを格納するために使用されます。
このチュートリアルの動作環境: Windows7 システム、C99 バージョン、Dell G3 コンピューター。
*p
、p
C 言語では、*p と p がよく使われます。 ポインタは、ポインタ変数。
ポインタを使用したい場合は、まずアドレスとデータを理解する必要があります。多くのボックスがあり、各ボックスには対応する番号があり、その番号は「アドレス」と呼ばれ、その中にあるものを想像することができます。ボックスは「データ」と呼ばれます。
p はアドレスを格納するために使用されるポインタ変数です。上記のボックスの番号と考えることができます。「*」は逆参照演算子です。ボックスを開くと考えることができます。 pはp.No.ボックスを開いて中のデータを取り出すことを意味します。
簡単に言うと、p はアドレスを保存し、p はプログラムにそのアドレスにアクセスしてデータを取得するように指示することを覚えておいてください。
C 言語では、* 記号には次の 3 つの用途があります。
乗算記号は、5*6 などの乗算演算に使用されます。
int *p; などのポインター変数を定義するときに使用されるポインターを宣言します。
間接演算子。printf("%d",*p); など、ポインタが指すメモリ内の値を取得します。
と
p の違い
1. 意味は異なります
*p は、このポインタが指すメモリアドレスに格納されている内容を表します。
p はポインタ変数の名前を表し、ポインタ変数が指すメモリ アドレスを参照します。
2. 出力形式が異なります
*p は通常、ポインター型と一致する変数または定数です。
p出力は 16 進数とポインターのアドレスです。
3. さまざまな関数
#*pプログラムをそのアドレスに移動させてデータを取得させます。
p にはアドレスが格納されます。
#include <stdio.h> int main(void){ int x=3; int *p,*q; p=&x,q=&x; printf("%d\n",*p++); printf("%d\n",(*q)++); printf("%d\n",x); }
および
**p違い
#int *p: レベル 1 のポインタ。p が指すアドレスに int 型の値が格納されていることを示します。
int * *p : p が指すアドレスが int 型へのポインターを格納することを示す第 2 レベルのポインター (つまり、p が指すアドレスが int への第 1 レベルのポインターを格納する)
int i=10; //定义了一个整型变量 int *p=&i; //定义了一个指针指向这个变量 int **p1=&p; //定义了一个二级指针指向p指针
printf("i=[%d]\n",*p); printf("i=[%d]\n",**p1);
##関連する推奨事項: 「
C ビデオ チュートリアル以上がC言語の*pとpの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。