[英]How to memcpy a struct from another similar typedef'ed structure
struct DISPLAY_INFO *display_info; struct DISPLAY_INFO * display_info;
typedef struct DISPLAY_INFO; typedef struct DISPLAY_INFO;
DISPLAY_INFO display_info_2; DISPLAY_INFO display_info_2;
Have to copy diplay_info_2 to display_info. 必须将diplay_info_2复制到display_info。 How can I do it using memcpy .
我如何使用memcpy做到这一点。
Iff (if and only if) display_info points to a valid memory area , you can write 如果f(仅当且仅当) display_info指向有效的内存区域 ,您可以编写
memcpy(display_info, &display_info_2, sizeof(DISPLAY_INFO));
eg 例如
#include <stdio.h>
typedef struct DISPLAY_INFO{
int val;
} DISPLAY_INFO;
int main() {
DISPLAY_INFO *display_info;
display_info = (DISPLAY_INFO*)malloc(sizeof(DISPLAY_INFO));
DISPLAY_INFO display_info_2; // The object to be copied
display_info_2.val = 42;
memcpy(display_info, &display_info_2, sizeof(DISPLAY_INFO));
printf("%d", display_info->val);
free(display_info);
return 0;
}
您可以执行: *display_info = display_info_2
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.