1. ¿Qué significa * _t:
es unLa etiqueta de la estructura puede entenderse como la abreviatura de type / typedef, lo que significa que está definida por typedef。
2. Correspondencia entre * _t y tipos de datos comunes:
uint8_t, uint16_t, uint32_t son solo alias para los tipos que usan typedef.
Para comodidad de los usuarios, el hardware en lenguaje C del estándar C99 define estos tipos para nosotros. Según el estándar posix, el tipo * _t correspondiente al modelado general es:
1 byte | uint8_t | typedef unsigned char uint8_t | 8 dígitos sin firmar |
---|---|---|---|
1 byte | int8_t | typedef firmado char int8_t | Firmado de 8 dígitos |
2 bytes | uint16_t | typedef unsigned int uint16_t | 16 dígitos sin firmar |
2 bytes | int16_t | typedef firmado int int16_t | Firmado de 16 dígitos |
4 bytes | uint32_t | typedef unsigned long uint32_t | 32 bits sin firmar |
4 bytes | int32_t | typedef firmado largo int32_t | Número de 32 bits firmado |
8 bytes | uint64_t | typedef unsigned long long uint64_t | 64 bits sin firmar |
8 bytes | uint64_t | typedef firmado long long uint64_t | 64 bits firmado |
4 bytes | float32 | typedef float float32 | Punto flotante de precisión simple |
8 bytes | float64 | typedef doble float64 | Punto flotante de doble precisión |
3. Tipo DWORD:
4 bytes | DWORD | typedef uint32_t DWORD | 32 bits sin firmar |
---|
DWORD D
representa el doble, una palabra (palabra) de dos bytes (dos bytes de 16 bits), por lo que DWORD tiene cuatro bytes, a menudo representando uint32_t.
Este artículo se reproduce y adapta de: Acerca de uint8_t, uint16_t en programación integrada ...
para resumir:
1. * _t es una etiqueta estructural, que puede entenderse como la abreviatura de type / typedef, lo que significa que está definida por typedef
2. DWORD a menudo significa uint32_t.