What are you trying to achieve?

This, without the need to specify an array size for the struct members?
Code:
struct x {
    char y[10];
    char y2[20];
};
 
#define MAX 100
struct x *z[MAX];
> strcpy(a,"Hello\0");
There's no need to put a \0 on the end of strings, you get one for free anyway.