c語言中的資料類型可以轉換,分為強制類型轉換和隐式類型轉換
強制類型轉換的文法:直接在要轉換的變量或值前面加括号,括号中是要轉換的類型。
(type) var_name;
(type) value;
強制類型轉換的結果
目标類型能容納目标值:結果不變
目标類型不能容納目标值:結果将産生截斷
注意:不是所有的強制類型轉換都能成功,當不能進行強制類型轉換時,編譯器将産生錯誤資訊
舉例說明:
這是編譯器主動進行的類型轉換
!!!注意:低類型到高類型的隐式類型轉換是安全的,不會産生截斷
高類型到低類型的隐式類型轉換是不安全的,導緻不正确的結果
隐式類型轉換的發生點:
算術運算式中,低類型轉換為高類型
指派表達式中,表達式的值轉換為左邊變量的類型
函數調用時,實參轉換為形參的類型
函數傳回值,return 表達式轉換為傳回值類型
1、強制類型轉換由程式員負責完成
轉換可能産生截斷
轉換不區分類型的高低
轉換不成功,編譯器給出錯誤資訊
2、隐式類型轉換由編譯器自動完成
低類型向高類型的轉換時安全的
高類型向低類型的轉換是不安全的