並べ替えについて説明しているサイトから入手しました。しかし、私は理解できませんでし*(int*)xた。Cプログラムでこのように使用された場合、変数xを読み取る方法は? xのポインタへのポインタですか、それとも違いますか? どんな助けでも大歓迎です。ありがとう!
4 に答える
3
最初に分割すると、そこに到達できます。
(int*)x
これは、へのポインタにキャストxします。この場合、は であると仮定するため、 の数値はポインターとして解釈されます。int*intxintx
次のステップでは:
*(int*)x
*ポインターを逆参照します。この場合は、キャストされたばかりintです。結果はint.
つまり、 an をポインターとして解釈し、intそれが指す値を取得します。
于 2012-05-28T07:51:23.307 に答える
0
x最初に整数ポインターにキャストしてから、それを逆参照します。
于 2012-05-28T07:50:13.183 に答える
0
*C では次のように考えることができます。
- 型 (例: ) では、ポインター
intを意味します - 値 (例: ) を使用すると、逆参照
xを意味します
そう:
(int*)xへのポインタですint*yが指すメモリ アドレスの値です。y
于 2012-05-28T07:52:38.743 に答える
0
説明が異なる他の人と同じ答え。これを解釈してみてください - int* ptr = (int*)x; int y = *ptr;
于 2012-05-28T07:53:52.563 に答える