明示的なキャスト
手動で変換します。
「明示的なキャスト」はCoddyKit上の無料C Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C Academyコースには全4レッスンが含まれています。
キャストとは
キャストとは、(type)valueを使って値を別の型へ明示的に変換することです。コンパイラーに意図を正確に伝えられます。
#include <stdio.h>
int main(void) {
double d = (double)5;
printf("%.1f\n", d);
return 0;
}実数除算の強制
一方のオペランドをdoubleにキャストすると、除算で小数部分を保持できます。
#include <stdio.h>
int main(void) {
int a = 7, b = 2;
double r = (double)a / b;
printf("%.2f\n", r);
return 0;
}意図的な切り捨て
doubleをintにキャストすると、小数部分が破棄されます。それがまさに必要な場合もあります。
#include <stdio.h>
int main(void) {
double price = 19.95;
int dollars = (int)price;
printf("dollars = %d\n", dollars);
return 0;
}キャストと暗黙の変換
暗黙の型変換は自動的に行われます。キャストは意図を明示し、警告を抑制します。
#include <stdio.h>
int main(void) {
long big = 100000L;
int n = (int)big;
printf("n = %d\n", n);
return 0;
}式でのキャスト
キャストが適用されるのは直後の値だけなので、順序と括弧が重要です。
#include <stdio.h>
int main(void) {
int total = 5, count = 2;
double avg = (double)total / count;
printf("avg = %.2f\n", avg);
return 0;
}charとintのキャスト
charとintの間でキャストすると、文字とそのコードを相互に変換できます。
#include <stdio.h>
int main(void) {
int code = 66;
char c = (char)code;
printf("c = %c\n", c);
return 0;
}キャストによる丸め
キャストの前に0.5を加えると、正の数を最も近い整数へ丸められます。
#include <stdio.h>
int main(void) {
double d = 2.7;
int rounded = (int)(d + 0.5);
printf("rounded = %d\n", rounded);
return 0;
}unsignedへのキャスト
unsignedへキャストできますが、負の値はラップアラウンドして大きな正の数になります。
#include <stdio.h>
int main(void) {
int x = 10;
unsigned int u = (unsigned int)x;
printf("u = %u\n", u);
return 0;
}不要なキャストを避ける
変換がすでに安全に暗黙変換される場合にキャストすると、コードがいたずらに複雑になります。意図を明確にする場合や必要な場合にキャストを使用してください。
#include <stdio.h>
int main(void) {
int a = 4;
double d = a;
printf("%.1f\n", d);
return 0;
}計算式でのキャスト
パーセント計算の中でキャストを使うと、結果の精度を保てます。
#include <stdio.h>
int main(void) {
int done = 3, total = 8;
double pct = (double)done / total * 100.0;
printf("%.1f%%\n", pct);
return 0;
}数学関数とキャスト
整数値を浮動小数点数の計算に渡す場合、キャストが役立ちます。
#include <stdio.h>
int main(void) {
int n = 9;
double root = (double)n / 3.0;
printf("%.2f\n", root);
return 0;
}クイックチェック
明示的なキャストについての理解度を確認しましょう。
まとめ:明示的なキャスト
意図的に型を変換する方法を学びました。
- 構文は
(type)valueです - 実数除算を強制するためにキャストします
- 意図的に切り捨てるためにキャストします
- キャストは意図を明示し、警告を抑制します
- キャストが適用されるのは隣接する値だけなので、括弧を使用します
よくある質問
「明示的なキャスト」レッスンは無料ですか?
はい。「明示的なキャスト」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C Academyコースには全4レッスンが含まれています。
「明示的なキャスト」で何を学びますか?
手動で変換します。 ブラウザで直接実行するハンズオンコードでC Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
C Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのC Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「明示的なキャスト」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このC Academyレッスンでコードを書いて実行できますか?
はい。すべてのC Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 暗黙の変換
- 明示的なキャスト
- 整数と浮動小数点数の変換
- 変換の落とし穴