Предположим, что у меня есть две переменные следующим образом:typecasting vs memcpy(): какой из них лучше?
typedef struct{
int proc;
int id;
int value;
int last;
} my_struct;
struct my_struct dummy;
int len = 3*sizeof(int);
char my_msg[len];
//Some assignments are done here on those variables
Теперь я хочу, чтобы стереть содержимое dummy
, написав содержимое my_msg
на нем. Тогда какой из следующих способов лучше подходит?
memcpy(&dummy, my_msg, size);
или
&dummy = (my_struct *) my_msg;
В определении вашего типа нет 'struct my_struct', поэтому ваш пример не будет работать. –
Что бы вы ожидали от последнего, если он действительно скомпилирован? –
'dummy' должен быть объявлен как союз. –