亦談c 中的型別轉換

2021-04-02 02:57:59 字數 1360 閱讀 5335

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 ...