C语言中的类型转换和类型定义

一、默认类型

整数的默认类型是 int 型,小数的默认类型是 double 型。

将 int 型数字赋值给 int 型变量时不用进行类型转换,赋值给  long 型变量时需要先转换为 long 型数字。

如果不想让数字使用默认的类型,那么可以给数字加上后缀,手动指明类型: 在整数后面紧跟 l 或者 L(不区分大小写)表明该数字是 long 类型;在小数后面紧跟 f 或者 F(不区分大小写)表明该数字是 float 类型。

加上后缀,虽然数字的类型变了,但这并不意味着该数字只能赋值给指定的类型,它仍然能够赋值给其他的类型,只要进行了一下类型转换就可以了。

二、类型转换

数据类型转换就是将数据(变量、数值、表达式的结果等)从一种类型转换为另一种类型。

类型转换只是临时性的。无论是自动类型转换还是强制类型转换,都只是为了本次运算而进行的临时性转换,转换的结果也会保存到临时的内存空间,不会改变数据本来的类型或者值。

可以自动转换的类型一定能够强制转换,但是可以强制转换的类型不一定能够自动转换。

可以自动进行的类型转换一般风险较低,不会对程序带来严重的后果。

只能强制进行的类型转换一般风险较高,或者行为匪夷所思,使用强制类型转换时要意识到潜在的风险。

将一个小数赋值给整数类型时,取整数部分而丢掉小数部分,不是按照四舍五入取近似值。

自动类型转换

自动类型转换是编译器根据代码的上下文环境自行判断的结果,默默地、隐式地地进行的数据类型转换,不需要在代码中体现出来。

发生条件:

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

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

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

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值