卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章18460本站已运行340

C语言中的隐式类型转换和显式类型转换是什么?

将一种数据类型转换为另一种数据类型称为类型转换。

  • 隐式类型转换
  • 显式类型转换
  • ul>

    隐式类型转换

    • 当操作数具有不同数据类型时,编译器提供隐式类型转换。

    • 它是由编译器通过将较小的数据类型转换为较大的数据类型自动完成的。

'
int i,x;
float f;
double d;
long int l;

C语言中的隐式类型转换和显式类型转换是什么?

这里,上面的表达式最终计算结果为“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>",a);
}</p>

输出

'
Implicit value:40.000000

示例(显式转换)

实时演示

'
#include<stdio.h>
main(){
   int i=40;
   short a;
   //Explicit conversion
   a=(short)i;
   printf("explicit value:%d<p>",a);
}</p>

输出

'
Explicit value:40
卓越飞翔博客
上一篇: Python程序提取N个最大的字典键
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏