c - float和int的内存表示

标签 c floating-point integer

struct s
{
  int a;
  float b;
  int c;
}

这个结构成员是如何存储在内存位置的? 我的理解是,当分配一个结构变量时,然后内存 结构成员也将被分配。如果 1000 是起始地址,则 a 将位于 1000,b为1004,c为1008。

整数和 float 在内存中有不同的地址空间。 float 和 在内存中表示的结构中声明的整数?请帮我 明白了。

最佳答案

假设 sizeof(int) == sizeof(float) == 4 并且编译器没有决定放入一些填充,那么您的答案是正确的。我不知道“整数和 float 在内存中有不同的地址空间”是什么意思,所以我不确定我能否回答你的最后一个问题。

关于c - float和int的内存表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7233485/

相关文章:

c - 释放数组时出现段错误(核心已转储)

Java 根据算术结果舍入 int 值

python - pandas数据框浮点问题

c - 类型为 'void' 的操作数,其中需要算术或指针类型 - C

c++ - 为什么我有这个错误?

c - 在 c 中将文件从服务器传输到客户端时获取垃圾值?

c++ - sqrt 和 sqrtf 的区别

javascript - 手动计算对数

string - 在Idris中将字符串转换为整数或自然数的最佳方法

c - 让 libspotify 中的示例在 Windows 7 下工作