C語言之類型轉換

在C語言中,類型轉換分爲兩類:強制類型轉換和隱式類型轉換

強制類型轉換,就是程序員強制進行的:

eg:

        short i=5;

        float j=(float)i;

強制類型轉換的結果爲左值類型,但是需要注意不是所有強制類型都能成功。

eg:

     struct node
{
int m;
int n;
};

        node p;

    int i=(int)p;

輸出:error C2440: “類型轉換”: 無法從“node”轉換爲“int”

隱式類型轉換:編譯器自動進行的轉換,需要主要的是,一般低類型到高類型是安全的如char轉爲int,而高類型到低類型則會截斷,如float型到int型。

在實際工程中,隱式類型一般會發生轉換的位置在:

算術運算中,如一個float類型與int類型做運算

賦值表達式,其值類型爲左值類型

函數調用,實參到形參

函數返回,return語句返回值轉換爲返回值類型。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章