gpt4 book ai didi

c - 不同体系结构上 C 中 int 的大小

转载 作者:太空狗 更新时间:2023-10-29 16:45:36 26 4
gpt4 key购买 nike

我知道 C 语言的规范没有规定每个整数类型(例如,int)的确切大小。

我想知道的是:在 C(不是 C++)中是否有一种方法可以定义具有特定大小的整数类型,以确保它在不同的体系结构中是相同的?喜欢:

typedef int8 <an integer with 8 bits>
typedef int16 <an integer with 16 bits>

或者允许程序的其他部分在不同架构上编译的任何其他方式。

最佳答案

你要的是<stdint.h> ,符合 C 标准(“C99”)的编译器将实现。不幸的是,这不包括微软。幸运的是,一个开源项目提供了一个 <stdint.h>对于 Windows,请参阅 msinttypes .

这将允许您使用 int32_tuint32_t ,加上 8、16 和 64,以及许多其他。

注意:头文件本身在标准中不是可选的,但是,头文件中的大多数类型都是单独可选的。有些不是。最常用的类型是可选类型,但没有什么能阻止您使用必需类型。问题是,如果一个实现提供了 header ,实际上它们定义了所有类型。

关于c - 不同体系结构上 C 中 int 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1611733/

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