c语言复习4--类型转换

在c语言中不同类型的数据是可以进行转换的,比如char能转换为int类型。

C语言的类型转换分两种:

1.强制类型转换。

2.隐式类型转换。


强制类型转换的语法:

(type)var_name;

(type)value;

强制类型转换的结果:

1,目标类型能容纳该类型值,则结果不变;

2,目标类型不能容纳该类型值,则结果发生截断。;

代码如下

//强制类型转换,能容纳,结果不变
char c = 10;
int i = (int)c;
printf("%d\n", i);


//强制类型转换,不能容纳,发生截断
double d = 1.2;
int i1 = (int)d;

printf("%d\n", i1);


隐式类型转换

编译器主动进行的类型转换

比如:

char c=1;

short s = c;

int i = s ;

long l = i;

注意:

隐式类型转换,低类型转换为高类型是安全的不会发生截断

而高类型转换为低类型是不安全的会发生截断,造成不安全的结果;

隐式类型转换发生的地方:

1.算术表达式中,低类型转换为高类型

2.赋值表达式中,表达式的值转换为左边变量的类型

3.函数调用时,实参转换为形参类型

4函数返回值,return 表达式转换为返回值类型

安全的类型转换如下


注意

在算术运算时,低类型会自动转换为高类型;

2.如char, short 这些类型进行算术运算是,会进行整型提升,提升为int或unsigned int  long 等等的整型类型中的最小类型。前提只要转换后的类型能容纳原类型所有值。

学习交流群199546072

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值