私はC言語で何かをコーディングしていて、 "これを次のようなバイト数のデータ型を指すポインタにキャストすると便利ですこの番号"。C:指定された長さの型へのポインタ
例では、わかりやすくなりました。私はsize_t
を使ってシステム上のポインタのサイズを取得しています。今度は、void *
ポインタをそのサイズのデータ型へのポインタに移植可能にキャストしたいと思います。私はそれを任意のポインタ型にキャストすることができ、それは同じ長さになりますが、ポインタの算術は、変数が指しているデータ型によって異なります。また、私の場合、size_t
は8バイトになるので、double
もありますので、私はvoid *
をdouble *
にキャストできますが、私はポータブルなソリューションを求めています。これを行う方法はありますか?
たぶん何」を説明この奇妙なキャスティングで達成しようとすると、あなたの実際の目標が何かをする方法があるかもしれません。 – Mat
'sizeof'の' size_t'を使用しますか? – asaelr
@MatそれはCで 'malloc()'関数を実装する複雑な代入でした。これはキャストとポインタで乱雑になりがちですが、私はもっと簡単な方法はないと思っています.. とにかく、ありがとうすべての回答者、素晴らしい提案。 –