> That solution wastes variables and is generally pretty ugly. > I still hope we can find a better solution.
You can't. C doesn't work that way. Your choices are to use a fixed-size array or to declare helper arrays as you have already done. You can use string literals as aliases for helper arrays, but that's probably even worse. #define JEDEC_WREN "\x06" #define JEDEC_SE "\x20" ... cmds[] = { { .writearr = (uchar*)(JEDEC_WREN) }, { .writearr = (uchar*)(JEDEC_SE "\x01\x23\x45") }, ... } If that's enough to turn your stomach, then your only remaining alternative is to write a program to generate the code for you using helper arrays. Russ