请问,我有结构体 两个结构体,如何将快速的赋值过去。
typedef struct
{
unsigned char A1[150];
unsigned char A2[100];
unsigned long int A3[200];
unsigned short int A4[100];
unsigned long int A5[300];
}ST_ONE;
typedef struct
{
unsigned char A1[150];
unsigned char A2[100];
unsigned long int A3[200];
unsigned long int A3_0[100]; // 增加一个成员A3_0
unsigned short int A4[100];
unsigned long int A5[300];
}ST_TWO;
ST_ONE stOne;
ST_TWO stTwo;
请问,有什么办法,使得stOne,和stTwo 两个结构体,相同的成员名赋值为一样的,而结构体stTwo多出来的 一个成员A3_0,我可以再另行赋值。
是否可以用共同体?这样使得stOne结构体 在一赋值的时候, stTwo结构体内相同成员名的成员就已经赋值了?如果用共同体的话,要如何实现?;还是说有其他好的方法。麻烦各位大神指点指点小弟。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
union
{
typedef struct
{
unsigned char A1[150];
unsigned char A2[100];
unsigned long int A3[200];
unsigned short int A4[100];
unsigned long int A5[300];
}ST_ONE;
typedef struct
{
unsigned char A1[150];
unsigned char A2[100];
unsigned long int A3[200];
unsigned long int A3_0[100]; // 增加一个成员A3_0
unsigned short int A4[100];
unsigned long int A5[300];
}ST_TWO;
}
但应该把TWO的那个多出来的放在底部,这样你对TWO进行初始化后,ONE就跟着一样了;记住他们在内存里是共享一个存贮单元的,你修改了其中任何一个,另外一个也跟着一样修改了。
一周热门 更多>