使用C语言经常会碰到那些问题495个问题集PDF电子书免费下载

资料大小: 1.34 MB

所需积分: 0

下载次数:

用户评论: 0条评论,查看

上传日期: 2019-11-19

上 传 者: 易水寒他上传的所有资料

资料介绍

标签:编译器(482)C语言(3918)封装(3551)

  我如何决定使用那种整数类型?

  如果需要大数值(大于32, 767 或小于¡32, 767), 使用long 型。否则, 如果空间很重要(如有大数组或很多结构), 使用short 型。除此之外, 就使用int 型。如果严格定义的溢出特征很重要而负值无关紧要, 或者你希望在操作二进制位和字节时避免符号扩展的问题, 请使用对应的无符号类型。但是, 要注意在表达式中混用有符号和无符号值的情况。

  尽管字符类型(尤其是无符号字符型) 可以当成“小” 整型使用, 但由于不可预知的符号扩展和代码增大有时这样做可能得不偿失。使用无符号字符型有所帮助;类似的问题参见问题12.1。

  在选择浮点型和双精度浮点型时也有类似的权衡。但如果一个变量的指针必须为特定的类型时, 以上规则不再适用。

  如果因为某种原因你需要声明一个有严格大小的变量, 确保象C99 的《inttypes.h》 那样用某种适当的typedef 封装这种选择。通常, 这样做唯一的好原因是试图符合某种外部强加的存储方案, 请参见问题20.3。如果你需要操作超过C 的内置类型支持的超大变量, 请参见问题18.17。

  1.2 64 位机上的64 位类型是什么样的?

  C99 标准定义了long long 类型, 其长度可以保证至少64 位, 这种类型在某些编译器上实现已经颇有时日了。其它的编译器则实现了类似longlong 的扩展。另一方面, 也可以实现16 位的短整型、32 位的整型和64 位的长整型, 有些编译器正是这样做的。

用户评论

查看全部 条评论

发表评论请先 , 还没有账号?免费注册

发表评论

用户评论
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
上传电子资料