Embedded/nested structures are fine:
struct recipe {
char* recipename;
struct {
recipe *left;
recipe *right;
} links;
} R;
Then refer to R.recipename, R.links.left, R.links.right.

Sorry, post the code here, that's how the forum works, and we all get to look at it, which is useful if, say, I don't understand something it's doing but someone else does. If it's your homework and it's OK to post it on the internet to get others to fix it then that shouldn't be a problem. If it's not OK to post it on the internet, well you shouldn't be barking up this tree.

You could simplify the code, creating a small testcase that isolates the problematic stuff from the rest, I don't see any teacher objecting to that as you'd obviously not be plagiarising (which is generally considered a major sin in academic circles).