gpt4 book ai didi

C 编程整数大小限制

转载 作者:太空宇宙 更新时间:2023-11-04 05:57:53 26 4
gpt4 key购买 nike

我是一名学生,目前正在通过一本名为“C Primer Plus,第 5 版”的书学习 C 编程语言。我正在学习它,因为我正在从事嵌入式系统和设备、设备驱动程序、低级内容等编程工作。我的问题很简单,但我还没有从教科书和各种帖子中得到直接的答案在 SO 上与我的问题类似。

如何确定整数数据类型(如 SHORT、INT 或 LONG)的大小?我知道这是一个被问了很多的简单问题,但每个人似乎都用“取决于架构/编译器”来回答这个问题,这让我一头雾水,对像我这样的新手没有帮助。

互联网上某处是否有一个隐藏的图表可以清楚地描述这些不兼容性,或者是否有一些查看编译器(16 位、24 位、32 位、64 位等)并被能说出数据类型是什么吗?还是在特定系统上通过编译器手动使用 sizeof 运算符是判断这些数据类型将包含哪些内容的唯一方法?

最佳答案

您只需要正确的文档,在您的情况下,您需要定义标准的文档,并且在提出此类问题时,您应该至少命名它的一个版本;例如,C99 是该语言最流行的版本之一,它在 ISO-IEC 9899-1999 文档中定义。

C 标准没有定义绝对大小,它更倾向于以字节表示的最小大小,有时甚至不是这样。

值得注意的异常(exception)是 char,它是一种保证大小为 1 字节的类型,但这是另一个潜在的陷阱,C 标准没有定义一个字节有多大byte 是,所以它说 char 是 1 个字节,但是如果不了解您的平台,您不能肯定地说什么。

您始终需要了解标准和您的平台,如果您想以编程方式执行此操作,可以使用包含适用于您平台的宏的 limits.h header 。

关于C 编程整数大小限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23847734/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com