gpt4 book ai didi

c - 我应该相信 C 中的短通常是 2 个字节吗?

转载 作者:行者123 更新时间:2023-12-04 09:41:28 25 4
gpt4 key购买 nike

我有一个从 0 到 65535 循环的大量数字(我选择 16 位只是为了有一个很好的截止点)。我正在增加一个 int,并且有一个 if 语句检查 int 是否为 65536。如果是,则将 int 设置为 0;有点笨拙,但它有效。我知道只使用 short int 并让它溢出会更有效率,但我最初没有这样做,因为 short 不能保证是 2 个字节,它很有可能。

这是在 linux (ubuntu) 机器上运行的 C 代码。如果我使用一个简短的然后决定在另一个操作系统上运行这个程序(或者说,在 64 位机器上运行它,因为我现在正在 32 位机器上测试),是否有很大的机会我的short仍然是2个字节吗?我可以很容易地在几台不同的机器上测试它,但这里的一些人已经使用了很多计算机。有我应该注意的可怕陷阱吗?

最佳答案

无法保证任何内置类型的大小,例如 int , char之类的。 (例如,参见 this question ,它是关于 C++ 的,但据我所知,它对于 C 也是准确的)

如果你需要固定大小的整数类型,包括 C99 的 <stdint.h>并使用那里定义的固定宽度类型。

关于c - 我应该相信 C 中的短通常是 2 个字节吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4986203/

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