57 lines
1.3 KiB
C
57 lines
1.3 KiB
C
#include <stdio.h>
|
|
#include <string.h>
|
|
|
|
int main ()
|
|
|
|
|
|
|
|
{
|
|
|
|
/* Create generic vehicle type */
|
|
typedef struct
|
|
{
|
|
int life;
|
|
int magic;
|
|
}Vehicle;
|
|
|
|
|
|
/* Create car, which is a type of vehicle
|
|
* access vehicle vars by doing car.vehicle.var
|
|
*/
|
|
typedef struct
|
|
{
|
|
Vehicle vehicle;
|
|
char brand[10];
|
|
}Car;
|
|
/* We create our first car */
|
|
Car myCar;
|
|
myCar.vehicle.life = 5;
|
|
myCar.vehicle.magic = 9;
|
|
strcpy(myCar.brand, "Dodge");
|
|
|
|
printf("My car's life is: %d\n" "My car's magic is: %d\n"
|
|
"My car's brand is: %s\n\n", myCar.vehicle.life, myCar.vehicle.magic,
|
|
myCar.brand);
|
|
|
|
/* We create another to show using thing same struct with different values */
|
|
Car herCar;
|
|
herCar.vehicle.life = 8;
|
|
herCar.vehicle.magic = 5;
|
|
strcpy(herCar.brand, "Saturn");
|
|
|
|
printf("Her car's life is: %d\n" "Her car's magic is: %d\n"
|
|
"Her car's brand is: %s\n\n", herCar.vehicle.life, herCar.vehicle.magic,
|
|
herCar.brand);
|
|
/* Here we duplicate herCar (let's say we have a lot of saturns with same stats
|
|
* But may at some later point lose or gain stats
|
|
* */
|
|
Car herCar2 = herCar;
|
|
|
|
|
|
|
|
printf("Copy of HerCar\n" "Her car's life is: %d\n" "Her car's magic is: %d\n"
|
|
"Her car's brand is: %s\n", herCar2.vehicle.life, herCar2.vehicle.magic,
|
|
herCar2.brand);
|
|
|
|
}
|