C语言关于结构体赋值的问题,请教

现在有一内存结构 如下:

    typedef struct
    {
        char classname[128];
        char name[32];
        unsigned int id;
        char X[128];
        int X_len;
    }class_t;

现在有很多组数据要向该结构体赋值.但是 X[128] 这个变量是不可见字符 如0x20,0x03,0x04等登构成的。
那么我现在按照

     class_t Temp[] = {
            {"One", "OneName", 1, {0x20,0x03,0x04}, 3},
            ...
     }

赋值只有第一个正确能够打印.请问这样赋值正确吗?很多组数据该如何正确进行赋值?

这样是正确的——————————————————————