c語言中:
資料型別可以轉換
強制型別轉換
隱式型別轉換
強制型別轉換的語法:
(type)var_name;
(type)name;
強制型別轉換的結果
目標型別能容納目標值:結果不變
目標型別不能容納目標值:結果將產生截斷
注意:不是所有的強制型別轉換都能成功, 當不能進行強制型別轉換時, 編譯器將產生錯誤資訊
#include
struct ts
;struct
ts ts;
int main()
由編譯器主動進行的型別轉換
隱式型別轉換的發生點
算術表示式中, 低型別轉換為高型別賦值表示式中, 表示式的值轉換為左邊變數的型別函式呼叫時, 實參轉換為形參的型別函式返回值, return表示式轉換為返回值型別
注意:
低型別到高型別的隱式型別轉換是安全的, 不會產生截斷
高型別到低型別的隱式型別轉換是不安全的, 會導致不正確的結果
安全的隱式型別轉換
char(char——>int)——>short——>int——>unsigned int——>long——>unsigned long——>float——>double
go語言學習筆記 6 型別 基礎型別
基礎型別 bool int8 byte int16 int uint uintptr float32 float64 complex64 complex128 複數 string rune 字元 error 錯誤 bool true false 整型 int8 1byte uint8 1byte i...
C 學習筆記 07 型別轉換
型別轉換 賦值轉換 賦值轉換指的是將一種型別的值賦給另一種型別的變數,這時,值將會轉換為接收變數的型別,如語句 a b 如果a是long型,b是short型,則程式會將16位 short佔兩位元組 的b提公升為32位 long佔4位元組 並賦給a,直觀上講,型別的表達能力取決於該型別所佔的記憶體位數...
C 學習筆記13 型別轉換
const cast 運算子用於修改型別的 const volatile 屬性。除了 const 或 volatile 屬性之外,目標型別必須與源型別相同。這種型別的轉換主要是用來操作所傳物件的 const 屬性,可以加上 const 屬性,也可以去掉 const 屬性。class a void f...