Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
复制到C中的嵌套结构_C_Syntax_Copy_Structure - Fatal编程技术网

复制到C中的嵌套结构

复制到C中的嵌套结构,c,syntax,copy,structure,C,Syntax,Copy,Structure,我试图将一个结构x复制到另一个嵌套了x的结构y中 例如: #define DATASIZE 128 typedef struct { char data[DATASIZE]; } x_TYPE; typedef struct { int number; x_TYPE nested_x; enum boolean error; } y_TYPE; /* ---

我试图将一个结构x复制到另一个嵌套了x的结构y中

例如:

#define DATASIZE 128

typedef struct {
        char data[DATASIZE];    
} x_TYPE;


typedef struct {
    int               number;  
    x_TYPE            nested_x;     
    enum boolean      error;     
} y_TYPE;

/* ---- Values for the type field in xy_union ---- */
#define TYPE_IS_X 0;
#define TYPE_IS_Y 1;

typedef struct {
    union {                       /* structure containing x_object */
           x_TYPE      x_object; /*        or y_object as a union */
           y_TYPE      y_object;
    } u;
int type;            /*One of: TYPE_IS_X, TYPE_IS_Y */

} XY_TYPE;
这是我当前复制的方式:

copyXY(XY_TYPE *xx)
{
   XY_TYPE *yy; /* assume this is allocated already */


    yy->u.y_object.nested_x = *xx; /* ERROR LINE */


   return 0;
}
从类型“XY\U type”分配给类型“x\U type”时,我得到一个编译器错误:错误:不兼容类型


如果有人知道为什么会发生这种情况,请告诉我

这就是你要找的吗

XY_TYPE *yy; /* assume this is allocated already */

void copyXIntoYY(XY_TYPE *xx)
{
    yy->u.y_object.nested_x = xx->u.x_object;
}

这个问题不清楚你想做什么。

我不明白你想做什么。你到处使用“x”的方式令人困惑。你的伪代码太可怕了(例如,没有定义类型
x
;有一个
x\u类型
,但这是相同的吗?还有
y\u对象
,我假设它的类型是
y\u类型
,而不是
y
不包含
x\u对象
)。如果您向我们提供了实际的代码来演示您认为不应该得到的错误,我们可能会提供帮助。我更新了代码。很抱歉,这是实际的代码。我正在尝试找出如何复制到y_对象中。嵌套的_x“我正在尝试将结构x复制到另一个嵌套了x的结构y中。”-显然不是:您试图将一个结构XY复制到另一个嵌套了x的结构y中。错误表明x不是XY。您在这里不明白什么?