0

私が学んだように、配列名は最初の要素へのポインタのように機能しますが、:

int c[]={0,1,2};
printf("%d \t %d",c,&c[0]); //Different values,Why?

また、なぜ*c=0ですか?

4

1 に答える 1

11

推測: 64 ビットのポインターと 32 ビットのプラットフォームを使用していますint。コードは に 2 つのポインタ値を渡し、次にこれらを値printfとして解釈します。intこれは、64 ビット ポインターの 2 つの半分を 2 つの別個の整数として出力する可能性があります。

にキャストした後、ポインタを%pではなくで出力する必要があります。%dvoid*

于 2012-05-05T19:17:28.197 に答える