第4章 型変換

型変換によって、異なる変数の型を同一演算上で用いることが許されます。


4−1.暗黙の型変換

コンパイラが自動的に無難な型変換を行うものです。

(1)代入時の変換

左辺の型と右辺の型が異なっている場合は、左辺の型に変換します。

例えば下の例では、double型変数の x に 浮動小数点数 3.1415 が格納されていても、int型変数 a に代入した時点で小数点以下が切り捨てられて、3 になってしまいます。これは、整数型の int では小数点以下が格納できないために切り捨てられてしまうからです。

(2)式の中で行われる変換

式中で異なる型の定数や変数が現れたときは、精度の高い型に統一します。精度は今まで学習したものでは、下図のように char型 が一番低く、double型が一番高くなります。

次の例では、右辺は一番精度の高いdouble型に拡張されて計算されます。その後、そのままdouble型の左辺に代入されています。

(例)
int	i = 5;
long	l = 5;
double	d = 23.6;
double	kekka;

4−2.明示的型変換(キャスト)

強制的に別の型に変換したいときに用います。

下図の例では、右辺でint型変数どうしの割り算が行われています。int型は小数点以下を切り捨てますので、右辺の結果は「1」になります。それをfloat型の左辺に代入しますので、左辺は「1.0」になってしまいます。これを回避するには、キャストによって右辺を強制的にfloat型に変換する方法があります。キャストは変換したい型を()で囲み計算式の前に置くことで行えます。この変換は一時的なことで、a と b はあくまでも int型 であることには変わりありません。

 

 ここでは、ごく簡単に型変換について説明しました。詳しくは、「少し詳しい型変換の説明」をご覧ください。

演習
◆◆前ページ  ▲TOP▲  次ページ◆◆

banner
「初心者のためのポイント学習C言語」
Copyright(c) 2000-2004 TOMOJI All Rights Reserved