gpt4 book ai didi

c - C 中不同的浮点变量给出不同的大小

转载 作者:行者123 更新时间:2023-11-30 18:31:25 25 4
gpt4 key购买 nike

这可能是一个非常“菜鸟式”的问题,但我已经通过互联网进行了搜索,但找不到答案。我知道在 C 中,每种类型的变量都有不同的大小:

char   : 1 byte
short : 2 bytes
int : 4 bytes
long : 4 bytes
float : 4 bytes
double : 8 bytes

但举例来说,我声明了一个 tpye float 类型的变量 a 和一个也是 float 类型的变量 b 。现在假设变量 a 关联一个 float ,例如 130.25,而 b 关联 5.5。现在,考虑到 float 有 4 个字节长,一旦我将它们各自的值关联起来,ab 的大小肯定不一样。那是对的吗?或者无论变量的相关值如何,它们的大小都相同吗?

最佳答案

变量的大小取决于其类型,而不是其值。

两个 float 变量将始终具有相同的大小,无论其中存储的值如何。

请注意,您可以执行以下操作:

float a;
float b;

if(sizeof a == sizeof b)
printf("a and b have the same size\n");

即使如图所示,变量的值未定义,上述内容也是有效的。这是因为 sizeof 可以在编译时计算,因此根本不依赖于实际值。这再次证明该值不会影响变量的大小。

关于c - C 中不同的浮点变量给出不同的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23650142/

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