안녕하세요?
1.=================================
[04:50] 음성 status가 원일 때 -> status가 0일 때로 바뀌어야 할 거 같습니다.
2.================================
이 예제에서 공용체가 없었다면
car_data구조체 안에 두 개의 구조체를 사용해야하지만
(po, co 두 구조체를 묶은)공용체가 있어서 사용하기에 더 편리해진거죠?
감사합니다.
<전체코드>
/*
by neuezeal.
*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
struct personal_owner
{
char rrn1[7]; //Resident Registration Number
char rrn2[8]; //ex: 830422-1185600
};
struct company_owner
{
char crn1[4]; //Company Registration Number
char crn2[3]; // ex: 111-22-33333
char crn3[6];
};
union data
{
struct personal_owner po;
struct company_owner co;
};
struct car_data
{
char model[15];
int status; /* 0 = personal, 1 = company */
union data ownerinfo;
};
void print_car(struct car_data car)
{
printf("-----------------------\n");
printf("Car model : %s\n", car.model);
if (car.status == 0) /* 0 = personal, 1 = company */
printf("Personal owner : %s-%s\n",
car.ownerinfo.po.rrn1, car.ownerinfo.po.rrn2);
else
printf("Company owner : %s-%s-%s\n",
car.ownerinfo.co.crn1, car.ownerinfo.co.crn2, car.ownerinfo.co.crn3);
printf("-----------------------\n");
}
int main()
{
struct car_data my_car = { .model = "Avante",.status = 0, .ownerinfo.po = {"830422", "1185600"} };
struct car_data company_car = { .model = "Sonata", .status = 1,.ownerinfo.co = {"111", "22", "33333"} };
print_car(my_car);
print_car(company_car);
return 0;
}