私は知っています: char *はcharへのポインタです。 および int *はintへのポインタです。char *のサイズはint *のサイズと同じですか?
だから、私は二つのこと、以下を確認したい:
は、だから今、私は32ビットマシン上で午前と仮定し、そのメモリアドレスは32ビット幅であることを意味します。 したがって、char *とint *のサイズは両方とも32ビット(4バイト)です。 char * *のサイズもint *のサイズと同じですか?
私には: int * ptr;
このようになりました*((CHAR * *)PTR)をやっ= 0x154、右= 0x514同じ*((int型*)PTR)と同じですか? (0x514はランダムなメモリアドレス)
プラットフォーム:私はx86です。
P .:私が知っているのは、型キャストはコードとして推奨される方法ではありません。しかし、私はカーネルコーディングをしているので、私は型キャストを行う必要があります!
標準がそれを言っていなくても、それが実際に異なる環境を見つけるのは簡単だろうとは思えません。 – Mysticial
実際にはサイズは同じですが、位置合わせの要件は異なります。 – DCoder
"カーネルコーディング"を行っている場合、これはコードが実行できるプラットフォームの数をすでに制限しています。サポートされているものはOSの仕様で確認してください。 –