数据类型长度_重定义数据类型
数据类型长度:
01. 长整型long 整型int 短整型short 字符型char 浮点型float 双精度型double 指针型 02.8位系统 16位 16位(2字节) 8位(1字节) 8位(1字节) 03.16位系统 32位(4字节) 16位(2字节) 16位(2字节) 8位(1字节) 32位(4字节) 64位(8字节) 16位(2字节) 04.32位系统 32位(4字节) 32位(4字节) 16位(2字节) 8位(1字节) 32位(4字节) 64位(8字节) 32位(4字节) 05.64位系统 64位(8字节)64位(8字节) 16位(2字节) 8位(1字节) 32位(4字节) 64位(8字节) 64位(8字节)
重新定义数据类型:
写嵌入式C代码时,经常会遇到代码移植的问题。我们通常需要重新定义一些类型,防止由于各种平台和编译器的不同而产生的类型字节数差异。
01.typedef unsigned char boolean; /* Boolean value type. */ 02.typedef unsigned long int uint32; /* Unsigned 32 bit value */ 03.typedef unsigned short uint16; /* Unsigned 16 bit value */ 04.typedef unsigned char uint8; /* Unsigned 8 bit value */ 05.typedef signed long int int32; /* Signed 32 bit value */ 06.typedef signed short int16; /* Signed 16 bit value */ 07.typedef signed char int8; /* Signed 8 bit value */ 08. 09./* 另外一种写法,同样很方便清晰 */ 10. 11.typedef unsigned char BYTE; /* Unsigned 8 bit value type. */ 12.typedef unsigned short WORD16; /* Unsinged 16 bit value type. */ 13.typedef unsigned long WORD32; /* Unsigned 32 bit value type. */ 14.typedef char SBYTE; /* Signed 8 bit value type. */ 15.typedef short SWORD16; /* Singed 16 bit value type. */ 16.typedef long SWORD32; /* Signed 32 bit value type. */ 17. 18./* 不建议使用这种定义方式 */ 19. 20.#define BYTE char 21.#define WORD32 int