1. 程式人生 > >C語言筆記 第四課 型別轉換

C語言筆記 第四課 型別轉換

第四課 型別轉換

型別之間的轉換

C語言中的資料型別可以進行轉換
強制型別轉換
隱式型別轉換
在這裡插入圖片描述
強制型別轉換
強制型別轉換的語法
(Type)var_name;
(Type)value;
強制型別轉換的結果
目標型別能夠容納目標值:結果不變
目標型別不能容納目標值:結果將產生截斷
注意:不是所有的強制型別轉換都能成功,當不能進行強制型別轉換時,編譯器將產生錯誤資訊。

4-1強制型別轉換分析

隱式型別轉換
編譯器主動進行的型別轉換
在這裡插入圖片描述

注意:

低型別到高型別的隱式型別轉換是安全的,不會產生截斷
高型別到低型別的隱式型別轉換時不安全的,將導致不正確的結果
表示式中的隱式型別轉換

隱式型別轉換的發生點:

算數運算式中,低型別轉換為高型別
賦值表示式中,表示式的值轉換為左邊變數的型別
函式呼叫時,實參轉換為形參的型別
函式返回值,return表示式轉換為返回值型別
charint   unsigned int  long  unsigned long  float  doubleshort
安全的隱式型別轉換

4-2隱式型別轉換例項

強制型別轉換由程式設計師負責完成
轉換可能產生截斷
轉換不區分型別的高低
轉換不成功時,編譯器給出錯誤資訊
隱式型別轉換由編譯器自動完成
低型別向高型別的轉換是安全的
高型別向低型別的轉換是不安全的
標準C編譯器的型別檢查是比較寬鬆的,因此隱式型別轉換可能帶來意外的錯誤。