Có, có thể.
Có nhiều cách khác nhau để bạn có thể thực hiện việc này. Dưới đây là hai phương pháp đơn giản nhất.
struct myStruct myVar;
/* Initialize myVar */
...
memcpy (foo, &myVar, sizeof (myStruct));
Hoặc nếu bạn đang đối phó với một con trỏ ...
struct myStruct * myVarPtr;
/* Initialize myVarPtr */
...
memcpy (foo, myVarPtr, sizeof (myStruct));
Lưu ý rằng khi sao chép một cấu trúc đến/từ một mảng nhân vật như thế này, bạn phải rất cẩn thận như kích thước cấu trúc là không phải lúc nào cũng là điều đầu tiên bạn nghĩ. Trong trường hợp cụ thể của bạn, có thể không có bất kỳ vấn đề nào; nhưng nói chung, bạn nên ít nhất là nhận thức được các vấn đề về padding, alignment và type có thể thay đổi kích thước của cấu trúc của bạn.
Hy vọng điều này sẽ hữu ích.
Không tích cực, nhưng bạn có thể thử memcpy (* dest, * src, sizeof (src)); –
Nếu bạn thấy mình nói những thứ như "rõ ràng", bạn nên ngay lập tức nâng cao nhiều cờ đỏ. –
@KerrekSB cũng không mất 30 byte? Tôi biết rằng đối với các chủ đề phức tạp hơn tôi nên cảnh giác hơn – yiwei