C語言中的隱式和顯式型別轉換是什麼?
將一種資料型別轉換為另一種資料型別稱為型別轉換。
- 隱式型別轉換
- 顯式型別轉換
隱式型別轉換
當運算元的資料型別不同時,編譯器會提供隱式型別轉換。
它由編譯器自動完成,即將較小的資料型別轉換為較大的資料型別。
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
",a);
}輸出
Implicit value:40.000000
示例(顯式轉換)
#include<stdio.h>
main(){
int i=40;
short a;
//Explicit conversion
a=(short)i;
printf("explicit value:%d
",a);
}輸出
Explicit value:40
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP