月ノ書

<C言語>型変換(キャスト)

今回の記事でわかること
  • 型変換とは何か
  • 暗黙型変換と明示型変換の違いが分かる
  • 計算や代入での方の扱い方が理解できる

型変換とは

プログラムで変数の型を変えることを型変換(キャスト)と呼びます
例えば、整数と少数を混ぜて計算したいとき、型変換を使わないと計算結果が意図と違うことがあります

#include <stdio.h>

int main(void) {
    int a = 5;
    int b = 2;

    double result = a / b;  // int / int の計算
    printf("result = %f\n", result);
    return 0;
}

/*出力結果
result = 2
*/

a と b はどちらも int 型なので、計算は整数同士で行われます
結果は2となり、小数部分は切り捨てられます

明示的な型変換(キャスト)

少数も欲しい場合は、型変換(キャスト)を明示的に行う必要があります

#include <stdio.h>

int main(void) {
    int a = 5;
    int b = 2;

    double result = (double)a / b;  // a を double に変換
    printf("result = %f\n", result);
    return 0;
}

/*出力結果
result = 2.500000
*/

(double)a で a を double 型に変換しています。計算が double / int となり、結果も小数付きで出力されます

暗黙型変換

C言語では、状況によって自動で肩が変わることがあります。これを暗黙型変換(implicit cast)と呼びます

#include <stdio.h>

int main(void) {
    int a = 3;
    double b = 2.0;

    double result = a + b;  // int + double
    printf("result = %f\n", result);
    return 0;
}

/*出力結果
result = 5.000000
*/

int の a が自動的に double に変換され、計算が double + double になります。案木片案は便利ですが、意図しない型変換で誤差やバグが出ることがあるので注意

型変換の注意点

学習進捗

0
Would love your thoughts, please comment.x