[c언어] 구조체 속의 구조체. 중첩된 구조체를 정의하여 데이터를 저장

|



구조체는 모든 데이터 형을 포함할 수 있기 때문에 구조체의 멤버로 또 다른 구조체를 사용할 수 있다.

// 구조체 내부에서 또다른 구조체를 정의하여 데이터를 저장

#include <stdio.h>
struct person
{
    char *name;
    int age;
    struct phone
    {
        char *home_num;
        char *mobile_num;
    }number;
};
int main(void)
{
    struct person man={"jaeho", 18, {"02-345-0084", "019-945-0001"}};
    printf("name : %s\n", man.name);
    printf("age : %d\n", man.age);
    printf("home : %s\n", man.number.home_num);
    printf("mobile : %s\n", man.number.mobile_num);
    return 0;
}

// 실행 결과




// 외부에서 정의한 구조체를 포함하는 구조체에 데이터를 저장
#include <stdio.h>
struct phone
{
    char *home_num;
    char *mobile_num;
};
struct person
{
    char *name;
    int age;
    struct phone number;
};
int main(void)
{
    struct person man={"jaeho", 18, {"02-345-0084", "019-945-0001"}};
    printf("name : %s\n", man.name);
    printf("age : %d\n", man.age);
    printf("home : %s\n", man.number.home_num);
    printf("mobile : %s\n", man.number.mobile_num);
    return 0;
}

// 실행 결과

  ::