#include <stdio.h>
typedef struct {
int x;
int y;
}msg_s;
typedef union {
int data[4];
msg_s a;
}msg_u;
void comp(int* a1, int* a2, int size) {
for(int i=0;i<size; i++) {
printf("%d: %d %d\n",i
, a1
[i
], a2
[i
]); }
}
int main(void) {
msg_s z = {1, 1};
msg_u t = {2, 3, 4, 5};
msg_u r = {11, 12, 1, 7};
comp(t.data, r.data, sizeof(t.a)/sizeof(int));
r = t;
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIHN0cnVjdCB7CglpbnQgeDsKCWludCB5Owp9bXNnX3M7Cgp0eXBlZGVmIHVuaW9uIHsKCWludCBkYXRhWzRdOwoJbXNnX3MgYTsKfW1zZ191OwoKdm9pZCBjb21wKGludCogYTEsIGludCogYTIsIGludCBzaXplKSB7CglwcmludGYoIiVkXG4iLCBzaXplKTsKCWZvcihpbnQgaT0wO2k8c2l6ZTsgaSsrKSB7CgkJcHJpbnRmKCIlZDogJWQgJWRcbiIsaSwgYTFbaV0sIGEyW2ldKTsKCX0KfQoKaW50IG1haW4odm9pZCkgewoJbXNnX3MgeiA9IHsxLCAxfTsKCW1zZ191IHQgPSB7MiwgMywgNCwgNX07Cgltc2dfdSByID0gezExLCAxMiwgMSwgN307CgkKCWNvbXAodC5kYXRhLCByLmRhdGEsIHNpemVvZih0LmEpL3NpemVvZihpbnQpKTsKCXIgPSB0OwoJcHJpbnRmKCIlZCIsIHIuZGF0YVszXSk7CgkKCXJldHVybiAwOwp9Cg==