c mysql 类型转换_C语言类型转换

类型转换是一种可从一种数据类型转换成另一种数据类型。例如,如果要存储一个long值成一个简单的整数(int),那么可以强制类型转换long为int。可以从一种类型显式使用转换运算符值转换到另一个值,如下:

(type_name)expression

请看下面的例子中,两个整型除运算转换为浮点数:

#includemain(){intsum=17,count=5;doublemean;mean=(double)sum/count;printf("Value of mean : %f

",mean);}

当上述代码被编译和执行时,它产生了以下结果:

Value of mean : 3.400000

这里要注意的是,转换运算符的优先级高于除法运算,sum值首先被转换为double类型,最后它被除以count的double值。

类型转换可以是隐式的由编译器自动地进行,也可以明确地通过使用转换运算符的指定。它被认为是良好的编程习惯使用转换运算符时类型转换是必要的。

整数推进

整型提升是由整型值比 int 或unsigned int类型小,转换为 int 或 unsigned int。考虑一个 int 加入一个字符的例子:

#includemain(){inti=17;charc='c';/* ascii value is 99 */intsum;sum=i+c;printf("Value of sum : %d

",sum);}

让我们编译和运行上面的程序,这将产生以下结果:

Value of sum : 116

在这里,总和值为116,因为编译器正在做整型提升和实际执行加法运算之前,将'C'的值转换为ASCII码。

正常的算术转换

通常的算术转换是隐式进行投中一个常见的类型的值。编译器首先执行整数促销,如果操作数仍有不同类型那么他们将被转换为出现在最高的层次结构如下类型:

b6ff55f5e7301f6216f72f26ab450291.png

不执行的赋值操作符通常的算术转换,也不是逻辑运算符&&和||。让我们看看下面的例子来理解这个概念:

#includemain(){inti=17;charc='c';/* ascii value is 99 */floatsum;sum=i+c;printf("Value of sum : %f

",sum);}

让我们编译和运行上面的程序,这将产生以下结果:

Value of sum : 116.000000

在这里,它是简单的理解,第一个c被转换成整数,但由于最终值是double,因此正常的算术转换应用,编译器转换 i 和 c 成 float 并增加产生一个float结果。

¥ 我要打赏

纠错/补充

收藏

上一篇:

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值