この記事では、C言語で型変換(キャスト)する方法を解説します。
C言語の型変換には 暗黙的な型変換 と 明示的な型変換 があります。
暗黙的な型変換は、コンパイラの判断によって自動で行われます。どんなタイミングで変換されるか学んで「いつの間にか予想外の型になってる」なんてことがないようにしましょう!
暗黙的な型変換とは、明示的に記述しなくてもコンパイラの判断によって自動で行われる型変換のことを言います。
自身とは異なる型の変数に代入することで暗黙的に型変換が行われます。
#include <stdio.h>
int main(void){
int n = 10;
float f;
// float型の変数にint型の値を代入
f = n;
// 出力
printf("%f\n", f);
}
実行結果
10.000000
型の精度は以下の記事が参考になります。
Link【C言語/C++】データ型のサイズ・範囲の一覧【32bit/64bit環境】
異なる型同士で演算を行う場合、精度が高い(範囲が広い)方に変換されます。
#include <stdio.h>
int main(void){
int n = 10;
float f = 1;
// float型とint型の足し算
float r = f + n;
// 出力
printf("%f\n", r);
}
実行結果
11.000000
明示的な型変換とは、変換したい型を明示的に指定して行います。
(型名)変数
試しに、char型の変数をint型に変換して見ます。
#include <stdio.h>
int main(void){
int n = 10;
// float型に変換しつつ出力
printf("%f\n", (float)n);
}
実行結果
10.000000
この記事では、C言語での型変換について解説しました。
難しい内容ではありませんが気を付けてないとバグを引き起こす可能性があります。
それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ
View Comments