У меня есть указатель без знака char, который содержит структуру. Теперь я хочу сделать следующее
unsigned char buffer[24];
//code to fill the buffer with the relevant information.
int len = ntohs((record_t*)buffer->len);
где структура record_t содержит поле с именем len.I не могу это сделать, и я получаю ошибку.
error: request for member ‘len’ in something not a structure or union.
Затем я попытался:
int len = ntohs(((record_t*)buffer)->len);
чтобы получить право на приоритет оператора. Это дало мне warning:
dereferencing type-punned pointer will break strict-aliasing rules
.
то я объявил
record_t *rec = null;
rec = (record_t*)
что я здесь делаю неправильно?