gpt4 book ai didi

c - C中的int类型有什么用?

转载 作者:太空宇宙 更新时间:2023-11-04 08:32:21 25 4
gpt4 key购买 nike

我读到 C 编译器必须为 short 类型分配 2 个字节,并且必须为 long 类型分配 4 个字节。因此,根据系统的不同,int 类型可以有 2 个字节或 4 个字节。那么,这样做的目的是什么?如果我们需要一个 2 字节的数字,我们可以使用 short,如果我们需要一个 4 字节的数字,我们可以使用 long。我觉得 int 就像赌博,不管系统是不是 16 位的。(我一般不明白为什么C不能自己决定数字需要多少内存,就像Python一样)

最佳答案

在 C 的祖先 B 中,唯一的类型是 int。它是“机器字”的大小,通常是指寄存器的大小——16 位系统上为 16 位,32 位系统上为 32 位,等等。 C 简单地保留了这种类型。 shortlong 被引入作为在需要更少或更多范围时控制存储空间的方式。这在可用内存受限时很重要:当您知道一个值永远不会超过 short 的范围时,为什么要分配一个 long

I generally don't understand why C can’t decide by itself how much memory is needed for number, just like Python does

Python 使用 arbitrary-precision 动态决定这一点表示。 C 静态地决定这一点,并要求它由程序员指定。由于 type inference,有些静态类型语言不需要类型注释。 .如果你想在 C 中使用任意精度的整数,你可以使用 GMP ,它提供了 mpz_t 和许多其他类型和函数,用于任意精度算术。

关于c - C中的int类型有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27759955/

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