1
、基本型別轉換
這是最常見的型別轉換。
1.1 int to float(or double)
eg: int ia = 10;
double da = (double)(ia);
da = 10.0000000000000000;
1.2 double or float to int
double da = 10.08
double da1 = 10.99
int ia = int(da);
ia = 10;
int ia1 = int(da1);
ia1 = 10;
2
類轉換
定義兩個類:
a, b;
class a
class b: public a
如果乙個鍊錶中多數節點的型別為
a,但有的節點型別為
b,此時為了部浪費空間,不能全部使用
b作為所有節點的型別,而應以
a作為所有節點型別。 eg
:
a *link;
鍊錶link
已經有3個a
型別的節點,我們在鍊錶尾上插入乙個
b型別的節點,先生成
b *node = new b();
給node
的成員賦值,此時要轉換為
a型別才能插入鍊錶中:
a *temp = null;
temp = (a *)( node );
此時把temp
插入鍊錶尾即可。
當要使用
b型別的節點
node1
時,根據
a型別的資料成員判斷節點為
b型別(插入
b型別節點時設定資訊),然後把節點轉化為
b型別。
b *btemp = null;
btemp = (b *)( node 1); 此時
node1
轉化成b
型別,可以使用成員c了。
3
記憶體位址和類轉換。
定義乙個類c。
class c
c *link2 = new c [ 5 ];
設定乙個變數
: int var;
var = int ( &link2);
在這個程式的其他地方要使用
link2
時,進行轉換。
c *temp = (c *)(var);
C 中的型別轉換
和goto語句一樣型別轉換的名聲似乎也是不那麼好。不過型別轉換在某些緊要關頭就顯得尤為重要,看看現有的c c 就知道,以至於你不理解轉換的作用,將是無法閱讀的。就像鈾,它能變成原子彈,但它也能用來發電,是災難還是福祉那就要看人類了。顯然型別轉換默默承受著這不公的一切。不管怎麼說c風格的型別轉換還是不...
C 中的型別轉換
1.隱式轉換 1 賦值轉換 將右值轉換為左型別,然後再賦值。2 整型提公升 c 將bool char,unsigned char,singned char,short轉換為int,int計算最快 表示式中的優先順序轉換 long double double float unsigned long 對...
C 中的型別轉換
我們知道 變數的型別定義了物件能包含的資料和參與的運算。其中一種運算被大多數型別支援,就是將變數從某一種給定的型別轉化為另外的型別。在了解型別轉換種類之前,首先牢記 型別轉換只是暫時的,原來的變數型別並不改變。在c語言中,分為兩種型別轉換 1,隱式型別轉換 2,顯示型別轉換 例如 double d ...