1

私はちょうどいくつかのコードで誰かを助けてきました。彼はこれを持っていました:

char dataArray[10];

次に、配列の先頭へのポインターを取得したいと考えました。使用するのではなく:

&dataArray[0]

あるいは単に

dataArray

彼は使用した

&dataArray

彼はそこにポインタへのポインタで終わったのですか?&dataArray何が彼に与えるかわかりません。

4

2 に答える 2

9
  • &dataArray[0]タイプchar *です。へのポインタcharです。
  • dataArrayタイプですchar[10]
  • &dataArrayタイプになりchar (*)[10]ます。それは配列へのポインタです。

それとは別に、は同じになります。つまり、同じアドレスを指しますが、型に互換性がある必要はありません。

ここでは、それらのどれもポインターツーポインターではありません。それらは、異なる型を持つ単なるポインタです。

注: 配列の減衰プロパティは、関数の引数として渡された場合などにchar [100]減衰するためです。char *

于 2015-06-17T12:55:26.430 に答える
0

dataArray と &dataArray[0] は配列の最初のインデックスのアドレスを指すため、同じものですが、&dataArray は配列全体のアドレスを指すか、10 インデックス配列全体が存在するアドレスを与えると言えます。あります(全体として)

于 2015-06-17T13:14:20.620 に答える