gpt4 book ai didi

c - _t(下划线-t)后面的类型代表什么?

转载 作者:太空狗 更新时间:2023-10-29 16:13:44 28 4
gpt4 key购买 nike

这似乎是一个简单的问题,但我无法通过 Stack Overflow 搜索或 Google 找到它。类型后跟 _t 是什么意思?比如

int_t anInt;

我在 C 代码中经常看到它与硬件密切相关——我不禁认为它们是相关的。

最佳答案

正如 Douglas Mayle 所说,它基本上表示一个类型名称。因此,以 ' _t 结束变量或函数名是不明智的。 ' 因为它可能会引起一些困惑。以及size_t , C89 标准定义了 wchar_t , off_t , ptrdiff_t ,可能还有其他一些我忘记了。 C99标准定义了很多额外的类型,比如uintptr_t , intmax_t , int8_t , uint_least16_t , uint_fast32_t , 等等。这些新类型在 <stdint.h> 中正式定义但大多数情况下你会使用 <inttypes.h>其中(通常用于标准 C 头文件)包括 <stdint.h> .它 ( <inttypes.h> ) 还定义了与 printf() 一起使用的宏。和 scanf() .

正如 Matt Curtis 指出的那样,后缀对编译器没有任何意义;这是一个以人为本的约定。

但是,您还应该注意 POSIX定义了很多以' _t 结尾的额外类型名称',并为实现保留后缀。这意味着,如果您在与 POSIX 相关的系统上工作,那么根据约定定义您自己的类型名称是不明智的。我工作的系统已经做到了(20 多年);我们经常被系统定义与我们定义的名称相同的类型绊倒。

关于c - _t(下划线-t)后面的类型代表什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/231760/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com