自从我开始用C语言编程以来,我知道/看到每个人在使用typedef声明变量时使用以下约定,如下所示:
int32_t *data_value;
const int16_t *Order_Of_Mag;
uint16_t min_change;
uint8_t eeprom_save_flag;
我理解部分原因是不同架构之间的可移植性。有谁知道何时和/或标准规定了这种声明方法?
另外,建议的处理标准库(stdio.h)函数的方法是什么,需要使用char,因为char既不是uint8_t也不是int8_t(参见下面的示例函数)
sscanf(const char *format)
int atio(const char *s)
提前致谢
答案 0 :(得分:1)
我所知道的唯一要求您使用此类typedef的标准是项目/公司特定的编码约定。那些编码约定然后还准确指定要使用的typedef(甚至宏),因此必须使用UINT32
而不是uint32_t
至于char
,uint8_t
或int8_t
之间的选择,默认值应该是char
用于字符数据(即字符串和字符)和{{1 }或uint8_t
代表小数字。