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