The problem is with the menu variable.

You are assigning current as menu->headCategory where menu is passed through the function loadData where menu is also passed and so loadData is called from the main function and in main function where you initialized the menu is commented.

See line
/*systemInit(&menu);*/

and so the menu is never initialized giving you segmentation fault.

I hope this clears your query.