为什么我不应该在C文件中使用sizeof(double)

时间:2016-04-02 09:20:13

标签: c sizeof

我的教授告诉我在读/写二进制文件时不要使用 sizeof(double)。现在,他告诉我原因,但我忘记了。例如:

double grade;

fread(grade, sizeof(double), 1, fp) != 1

但是,相反:

fread(grade, 4, 1, fp) != 1

现在,诀窍是double可能是4或8个字节,那么在这种情况下做什么呢?

1 个答案:

答案 0 :(得分:2)

最好使用sizeof(grade),因为如果更改变量类型,此行仍可正常工作。也许他会这么说?

fread(&grade, sizeof(grade), 1, fp)

但我认为没有理由直接写这个值,因为它可能不适用于另一个系统。