C語言數據類型轉換基本規則


        程序語句和表達式通常應該只使用一種類型的變量和常量,但是如果混合使用類型,

     C使用一個規則集合來完成數據類型的自動轉換。

 

  以下是一些C數據類型轉換的基本規則

 

    1.當出現在表達式中時,有符號和無符號的char和short類型都將自動轉換為int。

 

    2.在包含兩種數據類型的任何運算中,較低級別類型將會轉為運算中另一個較高級別的數據類型。

 

    3.數據類型級別從高到低的順序是long double、double、float、usigned long long、long long unsigned long、long、   unsigned int、int一個可能的例外是當long和int具有相同大小時,unsigned int級別高於long,short和char由規則1被提升到int。

 

    4.在賦值語句中,計算結果將被轉換為要被賦值的那個變量的類型,這個過程可能導致級別提升(被賦值的類型級別高)或者降級(被賦值的類型級別低),提升通常是一個平滑無損的過程,然而降級可能導致真正的問題。

    

    5.作為函數的參數被傳遞時,char和short會被轉為int,float轉為double,但可以通過函數原型的指定阻止自動提升的發生。

 

    

 

    參考 : C primer plus


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM