C深入 4 型別轉換

2021-08-21 05:02:59 字數 535 閱讀 3948

(type) value;

強制型別轉換的結果: 

目標型別能夠容納目標值:結果不變 

目標型別不能容納目標值:結果將產生截斷 

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

char c = 0;    // 變數c占用1個位元組

short s = c; // c 到 s 隱式型別轉換

int i = s; // s 到 i 隱式型別轉換

long l = i; // i到 l 隱式型別轉換

高型別到低型別的隱式型別轉換是不安全的,會導致不正確的結果

轉換可能產生截斷 

轉換不區分型別的高低 

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

隱式型別轉換由編譯器自動完成

低型別向高型別的轉換是安全的

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

標準c編譯器的型別檢查是比較寬鬆的,因此隱式型別轉換可能帶來意外的錯誤

C 4 型別轉換

void code 1 void code 2 強制型別轉換的結果 注意 不是所有的強制型別轉換都能成功,當不能進行強制型別轉換時,編譯器將產生錯誤資訊。include struct ts struct ts ts int main 輸出 s 1122 c 22 i 1122 j 3 p 804a0...

c語言回顧4 型別轉換

1.強制型別轉換 long l 800 int i int l 1 語法 type name 2 轉化的結果 目標型別能夠容納目標值 結果不變 short轉化為int,兩個位元組轉為四個位元組 目標型別不能容納目標值 結果產生截斷 int轉為char,四個位元組轉乙個位元組,把int的高三個位元組扔...

C語言高階剖析 4 型別轉換

c語言中的資料型別可以轉換,分為強制型別轉換和隱式型別轉換 int main 注意 不是所有的強制型別轉換都能成功,當不能進行強制型別轉換時,編譯器將產生錯誤資訊 舉例說明 這是編譯器主動進行的型別轉換 注意 低型別到高型別的隱式型別轉換是安全的,不會產生截斷 高型別到低型別的隱式型別轉換是不安全的...