С опцией получится еще проще
typedef struct _menuItem { char flash *itemText; void (*itemFunction)(char); char itemArg; } MenuItem; static MenuItem __flash MenuItems[] = { "Set device ", SetType, 0, "Read device ", 0, 0, "Program device ", 0, 0, "Insert ", Edit, INSERT_BUFFER, "Edit buffer ", Edit, EDIT_BUFFER, "Clear buffer ", Edit, CLEAR_BUFFER, "Append ", Edit, APPEND_BUFFER, "Run ", Run, 0, "Stop ", Stop, 0 };