Note: It does partly work
The char "string" contains an array of letter (does work), for example a road name - it is able to contain it, but the chars "name" and "road" contain only one letter/number each (partly work) - but I require an array of chars, any way to help?
Your function getstring is attempting to return a pointer to a local variable. That is an error, because the local variable str no longer exists after the function has ended. (The memory where it resided is re-used for other purposes).
Instead, pass a pointer to a string defined in the calling function.
Also, when you do char name = *string; You are a defining a char and initialising it with the first letter of string, i.e. string[0].
I imagine what you wanted to do was char *name = string; which is also a bad idea, because you still overwrite string on subsequent calls to strcpy, and you'd just end up printing out the same value (road) for road and name.