Use a forward declaration: struct LFO; This means "LFO is a struct that will be defined at some point later, just assume it exists". As long as you are using references/pointers to LFO, the forward declaration is enough.