我是靠谱客的博主 整齐毛衣,最近开发中收集的这篇文章主要介绍关于C语言的强制转换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

编程时遇到此类报错

error: aggregate value used where an integer was expected
 printf("t1 = %dn",(unsigned char)t1);

原因是:
C语言的类型强制转换只有在数量类型之间才能进行转换,结构类型(包括 union,struct)不是数量类型(Scalar Type),无法进行强制转换;

数量类型包括算术类型和指针类型,算术类型由包括整数类型和浮点类型。

 

可以用union来代替数据转换

我一般用union代替类型转换

union {
     long l;
     struct {
       long a:10;
       loing b:10;
       long  c:12
}bits;
}

最后

以上就是整齐毛衣为你收集整理的关于C语言的强制转换的全部内容,希望文章能够帮你解决关于C语言的强制转换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部