I would think you should nest them like this:
Code:
struct product {
char description[128];
float price;
char id[12];
};
struct cust {
char name[32];
char address[128];
int id;
struct product bought[5];
} customer[50];
So you now have, for example, customer[7].bought[2].price referring to the cost of the 2nd product for customer 7...if each product also has it's own struct (declared "struct product sparetire"), you just do this to create the bought products:
Code:
customer[7].bought[2] = sparetire;