C will let you declare structure variables inside other structures. This is very useful. It means that you can create a structure (perhaps called person) which keeps track of a person. You could then put a field of this type inside other structures. The bank structure could contain a person item in each customer item. A library could put a person item in each "borrower" and so on...
On the right you can see an example of this in action. The name and address items have been combined to form a person structure which we place inside an account item. This means that if I need to store just person information (for perhaps a credit card or mortgage structure) I can use the person structure in there as well.
#define MAX_CUST 50
#define NAME_LENGTH 30
#define ADDR_LENGTH 60
/* Create a person structure */
struct person
{
char name [NAME_LENGTH] ;
char address [ADDR_LENGTH] ;
int age ;
} ;
/* Create a customer structure */
struct customer
{
struct person person_details ;
int account ;
int balance ;
int overdraft ;
} ;