演算データの型を変換したり,代入時にデータの型を変換したりするときに「キャスティング」という手法を用います。キャスティングは, char,int,long,float,double,あるいは構造体の型を相互に変換する手法です。カーネルでは,構造体型に変換する手法が多く見受けられます。 まず,キャスティングの例を見てみましょう。図1のプログラムをコンパイルして実行すると, #include <stdio.h> int main() { printf("%f\n", (float)(7/2)); printf("%f\n", (float)(7)/(float)(2)); } となります。 最初のprintf関数は,整数型定数である7と2の演算結果を浮動小数点型に変換しています。整数型で割り算すると,小数点以下を切り捨て,7÷2=3となり,この整数値3を浮動小数点型の3.0に変換します。 次の
![第8回 データに意味付けするキャスティング手法](https://cdn-ak-scissors.b.st-hatena.com/image/square/bed39b5962a5d552c95b6d796db8f55e72d32943/height=288;version=1;width=512/https%3A%2F%2Fxtech.nikkei.com%2Fimages%2Fn%2Fxtech%2F2020%2Fogp_nikkeixtech_hexagon.jpg%3F20220512)