typedef signed int int16_t;//有符号16位数 typedef unsigned long uint32_t;//无符号32位数 typedef signed long int32_t;//有符号32位数 很显然就是使用了typedef关键字给既有数据类型分配了一个别名。当我们使用uint8_t时,就和使用unsigned char是一样的。如我们声明uint8_t var时,和使用unsigned char...
typedef signed int int16_t;//有符号16位数 typedef unsigned long uint32_t;//无符号32位数 typedef signed long int32_t;//有符号32位数 很显然就是使用了typedef关键字给既有数据类型分配了一个别名。当我们使用uint8_t时,就和使用unsigned char是一样的。如我们声明uint8_t var时,和使用unsigned char...
typedef unsigned int uint32_t; // 声明一个类型为uint8_t的变量a,可以存储8位无符号整数 uint8_t a; // 声明一个类型为uint16_t的变量b,可以存储16位无符号整数 uint16_t b; // 声明一个类型为uint32_t的变量c,可以存储32位无符号整数 uint32_t c; 这段代码用typedef给unsigned char、unsigned ...
typedef unsigned __INT64 uint64_t; typedef uint32_t u32; typedef uint16_t u16; typedef uint8_t u8; typedef int32_t s32; typedef int16_t s16; typedef int8_t s8; //追溯一个定义: typedef __SIZE_TYPE__ size_t; // size_t 是__SIZE_TYPE__的别名, 用size_t 表示__SIZE_TYPE__...
uint16_t GPIO_Pin; GPIOSpeed_TypeDef GPIO_Speed; GPIOMode_TypeDef GPIO_Mode; }; 给结构体起一个别名为 GPIO_Initstruct typedef struct GPIO_InitTypeDef GPIO_Initstruct 利用typedef关键字可以直接写成: typedef struct { uint16_t GPIO_Pin;
typedef uint16_t FP16; enum { FRAC_MASK = (1 << 10) - 1, EXP_MASK = ((1 << 5) - 1) << 10, SIGN_MASK = 1 << 15, FRAC_WIDTH = 10, FIXED_EXP = 24, EXP_WIDTH = 5, NAN = EXP_MASK + FRAC_MASK, CONST24 = 24 }; uint16_t is_nan(FP16 x) {...
而且表示多少位的整形,编译器没有一个统一的标准,直到出现 int16_t, int32_t, int64_t, uint64_t,感觉阅读性好些。这些归功于 typedef ,对名字编程。有的编译器认为 long int 相对 short int 而言的,所以 long int 是4个字节;有的编译器认为 long int 是比 int 更 long 的 int,所以 long int 是 ...
typedef enum cmd_type { G_ID = 0, G_DATA1, G_DATA2, G_CONFIG, // keep sequence G_PASSWD, // keep sequence G_LIGHT, G_VERSION, G_SERIAL, G_LAST, } cmd_type; /* * maps the EM540 modbus registers to int32_t and uint16_t values */ typedef __pack struct EM_data1 { vol...
typedef unsigned int uint32_t; typedef struct student { int id; char name[20]; unsigned int age; } STU; 上面的'uint32_t a;'等效为 'unsigned int a;',同理'STU m;'等效为‘struct student m;’ 利用typedef关键字可以提高代码的可移植性。
__IO uint16_t BSRRH;/*!< GPIO port bit set/reset high register, Address offset: 0x1A */ __IO uint32_t LCKR;/*!< GPIO port configuration lock register, Address offset: 0x1C */ __IO uint32_t AFR[2];/*!< GPIO alternate function registers, Address offset: 0x24-0x28 */ ...