3

これは一種の非常に基本的な質問です。voidタイプのポインタのメモリに何が含まれるかを知りたかっただけです。

どんな助けでも本当に感謝しています。ありがとう!

4

4 に答える 4

7

ポインタは、メモリ内のアドレスを提供するvoid単なる値です。ポインタが実際に指しているものは、void詳細情報なしでは判別できません。

ポインタが占めるメモリの内容はvoid、32ビットアーキテクチャでは32ビット値、64ビットアーキテクチャでは64ビット値になります(以下同様)。

この値の解釈は、基盤となるアーキテクチャと、それがメモリアドレス指定を実装する方法に大きく依存します。

于 2012-05-11T12:15:09.730 に答える
0

ポインタはメモリアドレスであるため、voidポインタでもオブジェクトのポインタでも同じになります。

于 2012-05-11T12:15:01.773 に答える
0

void値のないタイプです。

したがって、あなたが持っている場合void *foo、Cはあなたが読むことを許可しません、*fooましてやそれに何らかの値を割り当てることはできません。

したがって、あなたの質問に対する答えは次のとおりですvoid。ポインタが指しているものの値を見つけることはできません。voidポインターを他のタイプにキャストする必要があり、新しいポインターが指すアドレスの値は、そのタイプに従って解釈されます。

于 2012-05-11T12:38:27.247 に答える
0

実際にはポインタでもあるので、サイズは通常のポインタと同じである必要があります。

于 2012-05-11T14:43:46.620 に答える