Ваш псевдоним, определенный typedef
, называется mb32_packet_s
. Таким образом, вам нужно использовать его как
mb32_packet_s packet;
или
struct mb32_packet_t packet;
Вы также можете переименовать псевдоним в mb32_packet_t
:
typedef struct mb32_packet_t {
uint8_t compid;
uint8_t servid;
uint8_t payload[248];
uint8_t checksum;
} __attribute__((packed)) mb32_packet_t;
Затем вы можете сделать оба (оригинальное имя без псевдонима)
struct mb32_packet_t packet;
и (с псевдонимом)
mb32_packet_t packet;
Таким образом, имена псевдонима и структуры идентичны, но технически, struct mb32_packet_t
и mb32_packet_t
это две разные вещи, которые, однако, относятся к одному и тому же типу.