#c #cpp
Вот часть кода.
Не ясно, что делается в циклах. Не понятен даже сам синтаксис.
typedef struct {
uint8_t dst;
uint8_t regnum;
uint8_t len;
uint8_t *data;
uint8_t checksum;
} __attribute__((__packed__)) pkt_t;
for (i = 0; i < 3; i++)
pkt.checksum += ((uint8_t *)&pkt)[i];
for (i = 0; i < len; i++)
pkt.checksum += ((uint8_t *)data)[i];
Ответы
Ответ 1
В первом цикле полю checksum структуры присваивается значение суммы значений первых трех байтов, составляющих структуру pkt. Во втором цикле к этому значению указанного поля прибавляется сумма значений len байтов массива переменных uint8_t, на который указывает поле data.
Комментариев нет:
Отправить комментарий