| struct-2.c - A move_person function with structs parameters - does not work. | Lecture 1 - slide 22 : 34 Program 3  | 
#include <stdio.h>
#include <stdlib.h>
typedef struct{
  char road[15];
  int roadNumber;
  char town[20];
  } address;
typedef struct{
  int idNumber;
  char firstName[10],
       lastName[20];
  address location;
  } person;
void print_person(const person p){
  printf("%s %s\n%s %-4d\n%s\n\n",
          p.firstName, p.lastName,
          p.location.road, p.location.roadNumber,
          p.location.town);
}
/* PROBLEMATIC! Compiles, runs, but does not work as intended */
void move_person(person p, address new_address){
  p.location = new_address;
}
int main(void) {
  person morten = 
     {190583,                             // Initializer
      "Morten", "Madsen",
      {"Bredgade", 23, "Middelfart"}
     };
  address aalborg_address = 
     {"Boulevarden", 33, "Aalborg"};
  print_person(morten);
  move_person(morten, aalborg_address);
  print_person(morten);
  
  return 0;
}