運算優先順序 型別轉換

2021-08-17 08:28:29 字數 550 閱讀 7372

運算子優先順序:

混合運算時資料型別的轉換:

一些二元運算子(算術運算子、關係運算子、邏輯運算子、位運算子和賦值運算子)要求兩個運算元的型別一致,在算術運算和關係運算中如果參與運算的運算元型別不一致,編譯系統會自動對資料進行轉換(即隱含轉換),基本原則是將低型別資料轉換為高型別資料

混合運算時資料型別的轉換——顯式轉換:

顯式型別轉換的作用是將表示式的結果型別轉換為型別說明符所指定的型別

語法形式:①型別說明符(表示式);②(型別說明符)表示式

③型別轉換操作符《型別說明符》(表示式);

其中型別轉換操作符有:const_cast、dynamic_cast、reinterpret_cast、static_cast

例如:int(z), (int)z, static_cast(z)

強制型別轉換運算子的優先順序

int i 10 char b 20 如 i b 這樣賦值沒有問題,因為低位元組型別轉換成高位元組型別。如果是b i 這樣會有問題,b char i 因為高字型轉換為低位元組的型別後,若int i當前數值超過127時,會導致溢位,資料缺失。所以。如果高位元組型別要強制轉換為低位元組型別時,要考慮溢位...

優先順序和型別轉換分析

易錯的優先順序 c語言隱式型別轉換 算術表示式中,低型別轉換為高型別 賦值表示式中,表示式的值轉換為左邊變數的型別 函式呼叫時,實參轉換為形參的型別 函式返回值,return表示式轉換為返回值型別 例1char c c short s 0 s c printf d n sizeof s c 輸出為4...

C 運算優先順序

precedence operator description example associativity1 grouping operator array access member access from a pointer member access from an object scopin...