2013-02-25 24 views
6

Vorrei creare una struct Person, che consiste di due tipi di struct e una variabile all'interno. Come posso inizializzare e usare la struct Person allora?Inizializza una struct con tipi di struct all'interno di

struct name{ 
    char *firstName; 
    char *lastName; 
} name; 

struct address{ 
    char *street; 
    int number; 
} address; 

struct person{ 
    struct name fullName; 
    struct address fullAddress; 
    int age; 
} person; 
+1

Hai provato qualcosa ? –

risposta

5

È possibile utilizzare nidificato {}.

struct person 
{ 
    struct name fullName; 
    struct address fullAddress; 
    int age; 
} person = 
{ 
    { 
     "First Name", /* person.fullName.firstName */ 
     "Last Name", /* person.fullName.lastName */ 
    }, 
    { 
     "Street",  /* person.fullAddress.street */ 
     42   /* person.fullAddress.number */ 
    }, 
    42    /* person.age */ 
}; 

Quindi è possibile accedere agli altri membri come segue:

person.fullName.firstName; 
person.fullName.lastName; 
person.fullAddress.street; 
person.fullAddress.number; 
person.age; 
+0

Grazie! Questo è stato. – Tomzie

1

Per un 18-year-old John Doe, vive a indirizzo, 42

struct person{ 
    struct name fullName; 
    struct address fullAddress; 
    int age; 
} person = {{"John", "Doe"}, {"address", 42}, 18}; 
+0

puoi per favore rivedere questa domanda. http://stackoverflow.com/questions/42756562/namespace-or-packages-in-c-modules –