gpt4 book ai didi

c - Typedef 将测量单位放入 C 中

转载 作者:太空狗 更新时间:2023-10-29 15:57:50 26 4
gpt4 key购买 nike

使用 typedef 将测量单位放入名称中是好的做法吗? (并重命名标准类型)像这样:

typedef int16_t  MilliAmp_t;        /* 1 mA */

最佳答案

您只是在重命名某些类型。它不会在编译器中带来任何额外的检查(除非编译器是专门定制的;如果使用 GCC,您可以考虑通过 MELT 对其进行定制,但定制不是一项微不足道的任务),在某种意义上,以下代码

 MilliAmp_t x=0,y=1,z=2;
x = y * z;

将始终在没有警告的情况下编译(在 C 中),即使将两个电流物理相乘并将结果放入某个电流变量没有任何意义。

但是,您的 typedef 有一个小的文档值:如果您声明一个原型(prototype),例如

MilliWatt_t electical_power (MilliAmp_t current, MilliVolt_t tension);

然后一些读者可能会觉得这很有帮助(但也许不是我)。

关于c - Typedef 将测量单位放入 C 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28021155/

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