STM32——MDK4与MDK5中对于数据类型的不同

  • 首先我们来看MD4中的对于数据类型的定义:

  • 然后我们跳转到其定义处查看对其的定义:
typedef unsigned long  u32;

typedef unsigned short u16;

typedef unsigned char  u8;

/*首先我们来认识typedef,这是用来为复杂的声明定义简单的别名,也就是说,我们可以用它来给我们的数据类型来进行定义。*/

/* 然后我们再来看之后的unsigned,unsigned用于限定后面的为无符号类型,如果后面不加什么的话,就默认为unsigned int。*/

/*unsigned long 无符号长数据  unsigned char 无符号字符型 unsigned short无符号短数据*/ 

/*u8,u16,u32都是C语言数据类型,分别代表8位,16位,32位长度的数据类型,一个字节是8位。*/

/*所以u8是1个字节,u16是2个字节,u32是4个字节。*/
  • 在MDK5中,我们可以看到其对于数据类型的定义是大致与MDK4相同的。
typedef unsigned          char uint8_t;

typedef unsigned short     int uint16_t;

typedef unsigned           int uint32_t;

typedef unsigned       __INT64 uint64_t;


通过与上面对比,我们就可以知道,在MDK5中,对于MDK中的一些数据类型的定义有了些许改动,如在MDK4中用u8,在MDK5中用uint8_t,这样是为了让程序更加统一规范化,其后面的"t"应该是为了辨识其是使用typedef所定义的数据类型,让其余开发人员所认识,不至于搞混。

猜你喜欢

转载自blog.csdn.net/qq_39530692/article/details/112728241