struct DISPLAY_INFO *display_info;
typedef 结构DISPLAY_INFO;
DISPLAY_INFO display_info_2;
必须将diplay_info_2复制到display_info。我该如何使用 memcpy 来做到这一点。
最佳答案
当且仅当display_info指向有效的内存区域时,您可以写入
memcpy(display_info, &display_info_2, sizeof(DISPLAY_INFO));
例如
#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;
}
关于c - 如何从另一个类似的 typedef'ed 结构中 memcpy 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21796420/