天天看點

【C語言進階剖析】4、類型轉換

c語言中的資料類型可以轉換,分為強制類型轉換和隐式類型轉換

強制類型轉換的文法:直接在要轉換的變量或值前面加括号,括号中是要轉換的類型。

(type) var_name;

(type) value;

強制類型轉換的結果

目标類型能容納目标值:結果不變

目标類型不能容納目标值:結果将産生截斷

注意:不是所有的強制類型轉換都能成功,當不能進行強制類型轉換時,編譯器将産生錯誤資訊

舉例說明:

【C語言進階剖析】4、類型轉換

這是編譯器主動進行的類型轉換

!!!注意:低類型到高類型的隐式類型轉換是安全的,不會産生截斷

高類型到低類型的隐式類型轉換是不安全的,導緻不正确的結果

隐式類型轉換的發生點:

算術運算式中,低類型轉換為高類型

指派表達式中,表達式的值轉換為左邊變量的類型

函數調用時,實參轉換為形參的類型

函數傳回值,return 表達式轉換為傳回值類型

【C語言進階剖析】4、類型轉換
【C語言進階剖析】4、類型轉換

1、強制類型轉換由程式員負責完成

轉換可能産生截斷

轉換不區分類型的高低

轉換不成功,編譯器給出錯誤資訊

2、隐式類型轉換由編譯器自動完成

低類型向高類型的轉換時安全的

高類型向低類型的轉換是不安全的