[c언어] 중첩된 구조체 배열,포인터에 데이터를 저장

|



중첩된 구조체 배열, 포인터에 데이터를 저장하는 방법에 대해 알아보는 프로그램

// 중첩된 구조체 배열에 데이터를 저장

#include <stdio.h>
struct person
{
    char name[10];
    int age;
    struct phone
    {
        char home_num[14];
        char mobile_num[14];
    } number;
};
int main(void)
{
    struct person man[3];
    printf("이름을 입력하고 Enter :");
    scanf("%s", man[0].name);
    printf("나이를 입력하고 Enter :");
    scanf("%d", &man[0].age);
    printf("집전화를 입력하고 Enter :");
    scanf("%s", man[0].number.home_num);
    printf("휴대폰번호를 입력하고 Enter :");
    scanf("%s", man[0].number.mobile_num);
    printf("\n");
    printf("name : %s\n", man[0].name);
    printf("age : %d\n", man[0].age);
    printf("home : %s\n", man[0].number.home_num);
    printf("mobile : %s\n", man[0].number.mobile_num);
    return 0;
}

// 실행 결과




// 중첩된 구조체 포인터에 데이터를 저장

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

// 실행 결과

  ::