当前位置: 首页 > news >正文

C 语言标准库 - <limit.h>

简介

<limits.h> 是 C 标准库中的一个头文件,定义了各种数据类型的限制。这些宏提供了有关整数类型(charshortintlong 和 long long 等)和其他数据类型的最大值和最小值的信息。

这些限制指定了变量不能存储任何超出这些限制的值,例如一个无符号可以存储的最大值是 255。

库宏

下面的值是特定实现的,且是通过 #define 指令来定义的,这些值都不得低于下边所给出的值。

描述
字符类型
CHAR_BITchar 类型的位数通常为 8
CHAR_MINchar 类型的最小值(有符号或无符号)-128 或 0
CHAR_MAXchar 类型的最大值(有符号或无符号)127 或 255
SCHAR_MINsigned char 类型的最小值-128
SCHAR_MAXsigned char 类型的最大值127
UCHAR_MAXunsigned char 类型的最大值255
短整数类型
SHRT_MINshort 类型的最小值-32768
SHRT_MAXshort 类型的最大值32767
USHRT_MAXunsigned short 类型的最大值65535
整数类型
INT_MINint 类型的最小值-2147483648
INT_MAXint 类型的最大值2147483647
UINT_MAXunsigned int 类型的最大值4294967295
长整数类型
LONG_MINlong 类型的最小值-9223372036854775808L
LONG_MAXlong 类型的最大值9223372036854775807L
ULONG_MAXunsigned long 类型的最大值18446744073709551615UL
长长整数类型
LLONG_MINlong long 类型的最小值-9223372036854775808LL
LLONG_MAXlong long 类型的最大值9223372036854775807LL
ULLONG_MAXunsigned long long 类型的最大值18446744073709551615ULL

实例

下面的实例演示了 limit.h 文件中定义的一些常量的使用。

#include <stdio.h>
#include <limits.h>int main() {printf("Character types:\n");printf("CHAR_BIT: %d\n", CHAR_BIT);printf("CHAR_MIN: %d\n", CHAR_MIN);printf("CHAR_MAX: %d\n", CHAR_MAX);printf("SCHAR_MIN: %d\n", SCHAR_MIN);printf("SCHAR_MAX: %d\n", SCHAR_MAX);printf("UCHAR_MAX: %u\n", UCHAR_MAX);printf("\nShort integer types:\n");printf("SHRT_MIN: %d\n", SHRT_MIN);printf("SHRT_MAX: %d\n", SHRT_MAX);printf("USHRT_MAX: %u\n", USHRT_MAX);printf("\nInteger types:\n");printf("INT_MIN: %d\n", INT_MIN);printf("INT_MAX: %d\n", INT_MAX);printf("UINT_MAX: %u\n", UINT_MAX);printf("\nLong integer types:\n");printf("LONG_MIN: %ld\n", LONG_MIN);printf("LONG_MAX: %ld\n", LONG_MAX);printf("ULONG_MAX: %lu\n", ULONG_MAX);printf("\nLong long integer types:\n");printf("LLONG_MIN: %lld\n", LLONG_MIN);printf("LLONG_MAX: %lld\n", LLONG_MAX);printf("ULLONG_MAX: %llu\n", ULLONG_MAX);return 0;
}

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

Character types:
CHAR_BIT: 8
CHAR_MIN: -128
CHAR_MAX: 127
SCHAR_MIN: -128
SCHAR_MAX: 127
UCHAR_MAX: 255Short integer types:
SHRT_MIN: -32768
SHRT_MAX: 32767
USHRT_MAX: 65535Integer types:
INT_MIN: -2147483648
INT_MAX: 2147483647
UINT_MAX: 4294967295Long integer types:
LONG_MIN: -9223372036854775808
LONG_MAX: 9223372036854775807
ULONG_MAX: 18446744073709551615Long long integer types:
LLONG_MIN: -9223372036854775808
LLONG_MAX: 9223372036854775807
ULLONG_MAX: 18446744073709551615

 <limits.h> 提供了许多与整数类型相关的宏,用于描述各种数据类型的限制。这些宏对于编写健壮和移植性强的代码非常有用,因为它们允许程序员在不同平台上轻松获取数据类型的限制值。

http://www.lryc.cn/news/476405.html

相关文章:

  • Python | Leetcode Python题解之第519题随机翻转矩阵
  • 大数据新视界 -- 大数据大厂之提升 Impala 查询效率:索引优化的秘籍大揭秘(上)(3/30)
  • 【AI工作流】FastGPT - 深入解析FastGPT工作流编排:从基础到高级应用的全面指南
  • VS+Qt解决提升控件后,包含头文件格式不对问题处理
  • opencv - py_imgproc - py_filtering filtering 过滤-卷积平滑
  • 精华帖分享|缠论系列 -笔
  • Java项目实战II基于Spring Boot的文理医院预约挂号系统的设计与实现(开发文档+数据库+源码)
  • NumPy Ndarray学习
  • Browserslist 配置
  • vue2中的v-bind相当于原生js的什么
  • c语言-scanf函数的用法
  • AI带货主播插件开发之商品推荐模块!
  • 使用Nginx作为反向代理和负载均衡器
  • 【数据结构二叉树】C非递归算法实现二叉树的先序、中序、后序遍历
  • 解决网盘资源搜索难题的利器——全面解析哎哟喂啊盘搜及其优秀推荐平台
  • 草料二维码:低成本高效率的访客管理解决方案
  • qt管理系统框架(好看界面、漂亮界面、好看的界面、漂亮的界面)
  • 在VSCode中读取Markdown文件
  • Linux rabbitmq客户端 SimpleAmqpClient 源码编译
  • 一台手机可以登录运营多少个TikTok账号?
  • Python毕业设计选题:基于Hadoop的租房数据分析系统的设计与实现
  • k8s Service四层负载:服务端口暴露
  • QT 关于mousePressEvent无法过滤
  • 【VScode】深度对比:Cursor与VScode(CodeMoss)工具,谁才是你的GPT编程最佳助手?
  • 大数据计算里的-Runtime Filter
  • 【工具变量】大数据管理机构改革DID(2007-2023年)
  • Linux -- 初识信号
  • Ubuntu系统如何实现键盘按键映射到其他按键(以 Ctrl+c 映射到 F3,Ctrl+v 映射到 F4 为例)
  • el-select、el-autocomplete的选项内容过长显示完整内容
  • Go-单元测试