`

C中怎样合理决定使用那种整数类型?

阅读更多

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

 

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

 

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

 

        如果因为某种原因你需要声明一个有严格大小的变量, 确保象 C99 的 <inttypes.h > 那样用某种适当的 typedef 封装这种选择。 通常, 这样做唯一的好原因是试图符合某种外部强加的存储方案。

 

        如果你需要操作超过 C 的内置类型支持的超大变量。

 

来源:http://www.hxstrive.com/article/137.htm

分享到:
评论

相关推荐

    C语言FAQ 常见问题列表

    o 2.1 我如何决定使用那种整数类型? o 2.2 64 位机上的 64 位类型是什么样的? o 2.3 怎样定义和声明全局变量和函数最好? o 2.4 extern 在函数声明中是什么意思? o 2.5 关键字 auto 到底有什么用途? o 2.6...

    《你必须知道的495个C语言问题》

    1.1 我该如何决定使用哪种整数类型? 1  1.2 为什么不精确定义标准类型的大小? 2 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、...

    你必须知道的495个C语言问题

    1.1 我该如何决定使用哪种整数类型? 1.2 为什么不精确定义标准类型的大小? 1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、short、...

    C学习文档资料:C语言数据类型大全文档介绍

    - **整数类型**:整数类型用于存储整数值,根据占用空间的不同又可细分为`char`、`short`、`int`、`long`和`long long`。 - `char`: 占用1字节,表示范围为-128到127(如果未声明为`unsigned`)。 - `short`: 通常...

    千方百计c语言部分(约500题).

    #### 1.1 如何决定使用哪种整数类型? 在C语言中,选择合适的整数类型是非常重要的,因为不同的整数类型具有不同的范围和性能特点。通常,程序员可以根据实际需求来选择`short`、`int`、`long`或`long long`等整数...

    你必须知道的495个c语言问题

    **1.1 我如何决定使用那种整数类型?** 在C语言中选择合适的整数类型取决于多个因素,包括但不限于所需数值范围、存储效率以及跨平台兼容性。通常情况下,`int`是最常用的类型,因为它提供了一个合理的范围(通常是...

Global site tag (gtag.js) - Google Analytics