简体   繁体   English

如何从另一个类似typedef的结构中存储结构

[英]How to memcpy a struct from another similar typedef'ed structure

  1. struct DISPLAY_INFO *display_info; struct DISPLAY_INFO * display_info;

  2. 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;
}

http://ideone.com/AUwDNw http://ideone.com/AUwDNw

您可以执行: *display_info = display_info_2

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM