C中的变量声明typedef约定

时间:2012-12-13 17:43:50

标签: c++ c coding-style

自从我开始用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)

提前致谢

1 个答案:

答案 0 :(得分:1)

我所知道的唯一要求您使用此类typedef的标准是项目/公司特定的编码约定。那些编码约定然后还准确指定要使用的typedef(甚至宏),因此必须使用UINT32而不是uint32_t


至于charuint8_tint8_t之间的选择,默认值应该是char用于字符数据(即字符串和字符)和{{1 }或uint8_t代表小数字。