2

ポインターを割り当てるための 2 つのオプションが表示されます

1.

int p=5;
int *r=&p

2.

int p
int *r;
r=&p;

なぜアスタリスク付きの in 1 とアスタリスクなしの in two を使用するのですか?

4

5 に答える 5

8

あなたはこれを読むべきです:

int *r [...]

なので:

(int *) r [...]

のタイプはrですint *。そのように見ると、両方のバージョンが同一であることがわかります。

于 2012-10-19T06:46:55.050 に答える
3

2つの選択肢は実際には同じです。1つ目は、テキストが少ないことです。

アスタリスクは、のような宣言で使用される場合、変数ポインターint *rであることをコンパイラーに通知します。r

于 2012-10-19T06:46:08.700 に答える
0

ケース2 int *r:;への初期化されていないポインタの宣言intです。r = &pポインタに値を設定する割り当てです。

ケース1:は、のアドレスで初期化int *r=&pされるポインタの宣言です。intp

于 2012-10-19T06:47:38.413 に答える
0

2番目はまったく同じです。最初の例では、変数を宣言し、一度に値を割り当てます宣言部分には、が必要です。*これは、この変数がint値へのポインターを格納することを指定しているためです。変数はすでにポインタとして宣言されているので、値の割り当て部分はこの種のものを必要としません。r

于 2012-10-19T06:48:22.903 に答える
0

in1. int *r=&pは宣言だからです。

in2. r=&pは宣言ではありません。

アスタリスク (*) は、ポインターのデータ型を意味します。

詳細については、ここで読むことができます

于 2012-10-19T06:52:04.043 に答える