【问题标题】:equivalent of double in stdint.h?相当于 stdint.h 中的双倍?
【发布时间】:2012-06-17 00:45:36
【问题描述】:

我正在尝试找出通过 c89 的方法,但现在我遇到了这个问题。 stdint.h 是否有任何等效的双数据类型? 如果是,我们如何打印?

【问题讨论】:

  • 您是否在询问在哪里可以找到FLT_MAX 和朋友?可以转float.h

标签: c stdint


【解决方案1】:

stdint.h 用于整数类型,C 中没有固定大小的浮点类型。

顺便说一句,您提到了 C89,请注意 stdint.h 标准标头是 C99 附加的。

【讨论】:

  • 我有一个使用 bool 的函数,当我编译它时,它给出了不支持 bool 的错误。所以我假设 gcc 默认使用 c89 标准编译。我不知道,但我可以使用不能编译 bool 关键字的相同编译器编译 stdint.h 标头。
  • gcc 默认使用 GNU 扩展在 C89 中编译。要使用bool,请包含stdbool.h 并使用-std=c99 或-std=gnu99(带有GNU 扩展的C99)进行编译。
  • bool 是一个 C99 结构。你用的是什么版本的 gcc?请注意,您可以通过-std=c99 指定标准合规性以确保这一点。
  • @ouah 你错过了我的意思。我是说如果stdint.h 是一个 c99 构造,那为什么 gcc 不编译 bool。我的意思是指出这两个事实之间的矛盾。
  • 它是 c99 的补充。 gcc 非常友好,可以让您在 c89 中包含标头而不会抱怨。
猜你喜欢
  • 1970-01-01
  • 2012-10-31
  • 2018-12-06
  • 2014-02-28
  • 1970-01-01
  • 1970-01-01
  • 2015-01-10
  • 1970-01-01
  • 2013-03-30
相关资源
最近更新 更多