Да, это возможно.
Есть несколько способов, которыми вы можете это сделать. Ниже приведены два самых простых метода.
struct myStruct myVar;
/* Initialize myVar */
...
memcpy (foo, &myVar, sizeof (myStruct));
Или, если вы имеете дело с указателем ...
struct myStruct * myVarPtr;
/* Initialize myVarPtr */
...
memcpy (foo, myVarPtr, sizeof (myStruct));
Обратите внимание, что при копировании структуры в/из массива символов, как это, вы должны быть очень осторожны, так как структура размеры не всегда то, что вы могли бы сначала подумать. В вашем конкретном случае не может быть никаких проблем; но в целом вы должны, по крайней мере, знать о возможных проблемах заполнения, выравнивания и размера шрифта, которые могут изменить размер вашей структуры.
Надеюсь, это поможет.
Непонятно, но вы можете попробовать memcpy (* dest, * src, sizeof (src)); –
Если вы обнаружите, что говорите такие вещи, как «очевидно», вы должны немедленно поднять несколько красных флагов. –
@KerrekSB хорошо не занимает 30 байт? Я знаю, что для более сложных тем я должен быть более осторожным. – yiwei