C 總複習 型別轉換

2021-06-16 08:21:53 字數 998 閱讀 3171

1.常見型別轉換

int  i;

double d=2.5;

i=1.5;//隱式型別轉換

i=(int)1.5;//顯式型別轉換

i=d; //隱式型別轉換

i=(int)d; //顯式型別轉換

一般情況下,int * 型轉換為int型是非常不可思議的(即非常危險的),編譯器不允許隱式型別轉換的發生,報出錯誤。如果一定要完成這種不能隱式進行的轉換,可以使用顯式型別轉換暫時掛起編譯器的強型別檢查功能。

int a;

int *p=&a;

int b=p;//編譯錯誤,不能將int * 隱式轉換為int

int b=(int)p;//正確,使用顯式型別轉換

由於顯式型別轉換是強制進行的,所以顯式型別轉換又稱為強制型別轉換。

c++語言又提供了3個型別轉換運算子來代替舊式寫法的型別轉換。它們分別是static_cast< >、reinterpret_cast< >和const_cast< >。

static_cast< >用於隱式便可以進行的型別轉換,即正常的型別轉換。

reinterpret_cast< >用於那些不可思議的型別轉換,例如int型轉換為指標型別,指標型別轉換為int型等。

const_cast< >運算子用於間接改變常量的常性。

8        const int a[1]=;

9         //錯誤,static_cast< >不能將const int[ ]型轉換為int* 型

10         //int *p=static_cast(a);

11     

12         //錯誤,reinterpret_cast< >不能將const int[ ]型轉換為int* 型

13         //int *p=reinterpret_cast(a);

14       

15         int *p=const_cast(a);

16        *p=1;

C語言總複習(一)

一 c語言程式的結構 1.乙個程式由乙個或多個源程式檔案組成。1 預處理指令。2 全域性宣告。3 函式定義。2.函式是c程式的主要組成部分。3.乙個函式包括兩個部分。1 函式首部。2 函式體。函式體又包括宣告和執行兩個部分 4.程式總是從main函式開始執行的。5.程式中要求計算機的操作是由函式中c...

C 基礎總複習03

繼續更新。接下來就是物件導向的知識了 1 物件導向 概念 使用物件導向的思想進行程式設計可以讓的程式變得擴充套件性更高,便於維護 我們在現實生活中去描述乙個人的時候,通過描述這個人的特徵和行為。我們在程式設計當中,去描述乙個物件的時候,通過描述這個物件的屬性和方法。物件時具體的,不是抽象的,一定是看...

C 基礎總複習01

馬上就快畢業了,準備把這幾個月所學到的知識梳理一下,這兒所寫的都是一些c 中最基礎的東西 大牛不要笑話我,這也是我記錄的一些筆記等等 希望能幫到一些正在學習這方面的知識的人,如果有寫的不對的地方,望大神們指點。先從最基礎的說起 1 c 是強型別語言 區分大小寫 對變數的型別必須有乙個明確的定義。2 ...