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

标签 c sizeof

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

double grade;

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

但是,相反:

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

现在,技巧是 double 可能是 4 或 8 个字节,那么在这种情况下该怎么办?

最佳答案

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

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

但我认为没有理由直接写入该值,因为它可能无法在其他系统上工作。

关于c - 为什么我不应该在 C 文件中使用 sizeof(double),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36371439/

相关文章:

c - 组装时如何返回?

c - 如何命名结构变量

c - 尝试使用 pthread_create 时出错

c - 在c中获取数组/vector 的大小

平台之间的 C 枚举大小不匹配有潜在危险

c++ - 跨翻译单元和 gcc 4.6 自动内联函数

c - list 文件中的 requestExecutionLevel 和 CopyFile() 函数失败

c - 如何获取双指针数组的大小?

c++ - 为什么 sizeof(int) 不大于-1?

c - 结构是巨大的。为什么?