共用方式為


型別轉換轉換

您可以使用型別轉換 (cast) 明確地將型別轉換。

語法

  • 轉型運算式
    一元 (unary) 運算式

    ( type-name ) cast-expression

  • 型別名稱
    規範式的辨識符號清單的抽象宣告opt

型別名稱 是一種類型和 轉型運算式是一個值,以指定須轉換成該型別。 具有型別轉換的運算式不是左值。 轉型運算式 就好像它已被指定給型別的變數轉換 型別名稱。 工作分派的轉換規則 (述工作分派轉換) 套用至型別轉換 (cast) 也。 下表會顯示任何指定的型別可以轉換的型別。

合法的型別轉換

目的地類型

可能來源

整數類資料型別

任何整數型別或浮點數型別或物件的指標

浮點數

任何算術的型別

變數的指標,一個物件,或 (void *)

任何整數型別 (void *),物件的指標或函式指標

函數指標

任何整數類資料型別、 指標,此物件或函式指標

結構、 等位或陣列

None

Void 型別

任何型別

任何識別項可以轉換成void型別。 不過,如果在指定的型別型別轉型運算式不是void,然後識別項被轉換為型別不能void運算式。 任何運算式可以轉換成void,但型別的運算式void不可以轉換成任何其他型別。 例如,函式與void傳回型別不能轉換為另一個型別其傳回。

請注意, void * 運算式包含變數的型別指標, void,輸入void。 如果物件轉換成void型別,產生的運算式不能指派到任何項目。 同樣地,型別轉換物件不是可接受值 (l-value),因此型別轉換的物件不進行任何設定。

Microsoft 專有的

型別轉換可以是左值運算式,前提是識別項的大小並不會變更。 左值運算式上的資訊,請參閱值 (L-VALUE) 和 R-Value 運算式

結束 Microsoft 特定

您可以將轉換的運算式至型別void與型別轉換,但可能只有其中一個值不需要使用產生的運算式。 物件指標轉換成 void * ,並回到原始的型別會回到原來的值。

請參閱

概念

型別轉換 (C)