void code_1()
void code_2()
強制型別轉換的結果注意:不是所有的強制型別轉換都能成功,當不能進行強制型別轉換時,編譯器將產生錯誤資訊。
#include struct ts
;struct ts ts;
int main()
輸出:
s = 1122
c = 22
i = 1122
j = 3
p = 804a01c
&ts = 0x804a01c
注意:unsigned int p = (unsigned int)&ts; 在64位機時,將發生資料截斷
void code()
- 函式返回時,return 表示式轉換為返回值型別
#include int main()
輸出:
c = a
i = 97
j = 11223344
s = 3344
sizeof(c + s) = 4
sizeof(c + d) = 8
隱式型別轉換由編譯器自動完成注意:標準c編譯器的型別檢查是比較寬鬆的,因此隱式型別轉換可能帶來意外的錯誤。
C 4種型別轉換
c 型別轉換 const cast,去const屬性。static cast,靜態型別轉換。如int轉換成char。dynamic cast,動態型別轉換。如子類和父類之間的多型型別轉換。reinterpret cast,僅僅重新解釋型別,但沒有進行二進位制的轉換。const cast const ...
C 4種型別轉換
總 結 去const屬性用const cast。基本型別轉換用static cast。多型類之間的型別轉換用daynamic cast。不同型別的指標型別轉換用reinterpreter cast。任何具有明確定義的型別轉換,只要不包含底層const,都可以使用static cast 注 頂層con...
C 4種強制型別轉換
c 的四種強制型別轉換為 static cast const cast reinterpret cast和dynamic cast 型別轉換的一般形式 cast name expression 任何具有明確定義的型別轉換,只要不包含底層const,都可以使用static cast double sl...