#c #struct #pointer-arithmetic
#c #структура #указатель-арифметика
Вопрос:
У меня скорее косметический вопрос:
У меня есть поток памяти (void *), который я использую в примере как «cur_ptr». Теперь я хочу прочитать первые байты в int («версия») структуры («a_struct»). Мой код, который работает:
int *version;
version = cur_ptr;
a_struct->version = *version;
Как я могу написать это без вспомогательной версии указателя *?
Это не будет работать:
a_struct->version = (int)*cur_ptr;
есть идеи?
Спасибо
Ответ №1:
Сначала приведите cur_ptr к int *, затем получите его значение 😉
*((int*)cur_ptr);