並べ替えについて説明しているサイトから入手しました。しかし、私は理解できませんでし*(int*)x
た。Cプログラムでこのように使用された場合、変数xを読み取る方法は? xのポインタへのポインタですか、それとも違いますか? どんな助けでも大歓迎です。ありがとう!
4 に答える
3
最初に分割すると、そこに到達できます。
(int*)x
これは、へのポインタにキャストx
します。この場合、は であると仮定するため、 の数値はポインターとして解釈されます。int*
int
x
int
x
次のステップでは:
*(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 に答える