Wie bereits angedeutet, ist es kein Problem, zusammengesetzte Datentypen beliebig zu verschachteln. So kan ein Feld eines structs selbstverständlich ein Vektor sein:
struct chord{
  int tonhoehen[3];
  double dauer;
  double abstand;
};
Oder ein Vektor structs als seine Elemente haben:
struct note stimme[100];