海湾合作委员会 4.7.2 c89
你好,
我正在使用 Apache Portable Runtime 并查看他们的 typedef
typedef short apr_int16_t
typedef int apr_int16_t
typedef size_t apr_size_t /* This is basically the same, so what's the point */
等等
- 那么这一切的意义何在?
- 您应何时决定使用 C 的内置标准数据类型或 typedef 的数据类型?
我只是举了一个使用 APR 的例子。但是,我也一般来说。还有typedef的数据类型的stdint.h头文件。
非常感谢您的任何建议,
最佳答案
在我看来,最好为系统的 native 数据类型自定义数据类型,因为它有助于清楚地区分类型的大小。
例如:long 可能是 32 位或 64 位,具体取决于运行代码的机器及其构建方式。但是,如果您的代码特别需要一个 64 位变量,那么将其命名为 uint_64_t 或类似名称总是有助于清楚地关联大小。
在这种情况下,代码写成:
#if _64BIT_
typedef long uint_64_t
#else
typedef long long uint_64_t
#endif
但正如 Mehrdad 所建议的那样,不要“只是为了好玩”而使用它。 :)
关于c - 何时决定使用 typedef 的数据类型或 C 的内置标准数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13639427/