Hello mjcoury,
The following thread may be useful for setting up an array of function pointers, to enable you to associate a function with each menu item -
With use of a LCD display, and a limit to the number of display lines, often only a single menu item would be displayed at one time, and keys/pushbuttons used to cycle through each item, or select the displayed item. Is this your situation?
One possibily is to have an array of strings (as previously suggested by others), and also an array of functions, encompassing all menu items, not necessarily in a particular order. This would mean that each menu item would be uniquely identified by a single index value. It should then be a question of arranging various index values into the many tables (arrays) for each menu and sub-menu. All the data should be located in flash.
For the functions referenced with the array of functions, you might consider passing a variable. This may enable you to use a common function for the selection of the next sub-menu item, where the variable might represent an index to the required sub-menu.
Regards,
Mac