XC8 Compiler array of struct initialization problem
when you define MenuItem *Items[12]; you are creating an array of addresses, not an address to an array of structs (which is what you want).

take the "[12]" out:

typedef struct menu
{
  char MenuName[10];
  char NumberItems;
  MenuItem * Items;
}Menu;