struct address { int street_number; char * street_name; char * city; char * state; }; char * copy_string(char * input); int string_length(char * my_string); void input_address(struct address * a1); void print_address(struct address a1); struct address shallow_copy(struct address a1); struct address deep_copy(struct address a1); void foo1(struct address * a1); void foo2(struct address a1); void foo3(struct address * a1);