一文搞懂C 中的四種強制型別轉換

2022-09-25 01:12:07 字數 554 閱讀 3725

在了解c++的強制類形轉換的時候,先看看在c語言中是怎麼進行強制類形轉換的。

c語言中的強制類形轉換分為兩種

int main()

我們看出來aasvafgrv,在相關資料型別之間的轉換是可www.cppcns.com以隱式轉換的,如果是倆個不相關的資料型別之間的轉換,必須是顯式型別轉換。

c++中有四種程式設計客棧強制型別轉換

static_cast靜態轉換,任何標準轉換都可以用它,但是不能用於兩個不相關的型別轉換,其實就是有點像隱式型別轉換了。

int main()

reinterpret_cast:將一種型別轉換為另外一種型別,但是如果是相關型別則不可以轉換,會報錯,無效型別轉換。

int main()

這個的輸出結果就很意思,我們可以觀察到,p www.cppcns.com是我們定義的乙個 int* 變數,但是我們使用reintrtpret_cast的時候並不是把 i 變數的位址寫了進去,而是將 i 變數的值,用 int* 型別的格式儲存了起來,也就是說 int* p 的 p 存放的不是 i 的位址,而是,變數 i 的值,只不過是用16進製制來儲存的。

C 中四種強制型別轉換

c 同時提供了四種新的強制轉型形式 通常稱為新風格的或 c 風格的強制轉型 dynamic cast expression reinterpret cast expression static cast expression const cast const cast 允許新增或刪除指標或引用表示式...

c 中四種強制型別轉換

形式 cast name expression type 是轉換的目標型別,expression 是要轉換的值。任何具有明確定義的型別轉換,只要不包含底層const,都可以使用 static cast。例如double a 3.14 int b 3 int a1 static cast int a ...

C 中的四種強制型別轉換

什麼是c風格轉換?強制型別轉換是通過型別轉換運算來實現的。其一般形式為 型別說明符 表示式 其功能是把表示式的運算結果強制轉換成型別說明符所表示的型別。自動轉換是在源型別和目標型別相容以及目標型別廣於源型別時發生乙個型別到另一類的轉換。例如 float a 把a轉換為實型,int x y 把x y的...