2013-02-25 17 views
6

Chciałbym utworzyć struct Person, który składa się z dwóch typów struct i zmiennej wewnątrz. Jak mogę zainicjować i użyć funkcji struct Person?Inicjowanie struktury z typami struct wewnątrz

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

Próbowałeś coś ? –

Odpowiedz

5

Można użyć zagnieżdżonego {}.

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 */ 
}; 

Następnie można uzyskać dostęp do innych członków następująco:

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

Dzięki! Tak było. – Tomzie

1

Dla 18-letniego Johna Doe, mieszka pod adresem, 42

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

możesz przejrzeć to pytanie. http://stackoverflow.com/questions/42756562/namespace-or-packages-in-c-modules –

Powiązane problemy