型キャスト パート2
CoddyのCジャーニー「Fundamentals」セクションの一部 — レッスン 14/63。
第1部では、暗黙的な型変換について学習しました。ここでは、C言語における明示的な型変換について見ていきましょう。
明示的な型キャスト(手動変換)とは、キャスト演算子を使用して、あるデータ型を別のデータ型に強制的に変換することです。
明示的なキャストの構文は以下の通りです:
(target_type) expression浮動小数点数を整数に変換してみましょう:
float price = 45.95;
int rounded_price = (int) price;上記のコードを実行した後、rounded_price は次のようになります:
45
小数部分が(四捨五入ではなく)切り捨てられることに注意してください。
文字を整数にキャストして、そのASCII値を取得することもできます:
char letter = 'A';
int ascii_value = (int) letter;上記のコードを実行した後、ascii_value は次のようになります:
65
型変換は、特に大きなデータ型から小さなデータ型へ変換する際に、データ損失を招く可能性があることに注意してください。
チャレンジ
簡単次のようなプログラムを作成してください:
temperatureという名前のdouble型変数を宣言し、それに 98.6 という値を代入します。- 明示的な型キャストを使用して
temperatureを整数に変換し、それをwhole_partという名前の変数に格納します。 - 元の温度と整数部分を別々の行に出力します。
出力例:
Original temperature: 98.6
Whole part: 98
チートシート
C言語における明示的な型変換(キャスト)を使用すると、キャスト演算子を使用して、あるデータ型を別のデータ型に手動で変換できます。
構文:
(target_type) expressionfloatから整数への変換(小数点以下を切り捨てます):
float price = 45.95;
int rounded_price = (int) price; // 結果: 45文字から整数への変換(ASCII値を取得します):
char letter = 'A';
int ascii_value = (int) letter; // 結果: 65注意: 大きなデータ型から小さなデータ型に変換する場合、型変換によってデータが失われる可能性があります。
自分で試してみよう
#include <stdio.h>
int main() {
// ここにコードを記述してください
return 0;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。