#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.
Комментариев нет:
Отправить комментарий