將一種資料型別轉換為另一種資料型別稱為型別轉換。
當運算數具有不同資料類型時,編譯器提供隱式類型轉換。
它是由編譯器透過將較小的資料類型轉換為較大的資料類型自動完成的。
int i,x; float f; double d; long int l;
這裡,上面的表達式最終計算結果為「double」值。
以下是隱含型別轉換的範例-
int x; for(x=97; x<=122; x++){ printf("%c", x); /*Implicit casting from int to char %c*/ }
明確型別轉換由使用者使用(type) 運算子完成。
在執行轉換之前,會進行執行時間檢查以查看目標類型是否可以儲存來源值。
int a,c; float b; c = (int) a + b
此處,'a b' 的結果明確轉換為 'int',然後賦值為 'c'。
以下是顯式類型的範例轉換-
int x; for(x=97; x<=122; x++){ printf("%c", (char)x); /*Explicit casting from int to char*/ }
讓我們透過範例了解兩種類型轉換之間的差異-
即時示範
#include<stdio.h> main(){ int i=40; float a; //Implicit conversion a=i; printf("implicit value:%f</p><p>",a); }
Implicit value:40.000000
即時示範
#include<stdio.h> main(){ int i=40; short a; //Explicit conversion a=(short)i; printf("explicit value:%d</p><p>",a); }
Explicit value:40
以上是C語言中的隱式型別轉換和顯式型別轉換是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!