If this is not correct, please include a URL of where I can learn how to do this.
Of course it is wrong. What I can not understand is why you can't understand how arrays work.
An array is a continuous block of memory. You defined an array, mName, with 20 elements. Then, you try to assign a value to the 21st position in that array, while ignoring the previous 20 elements.
char mName[20];
mName[20] = m;
That, or course, is rubbish. Even without the incorrect value in the brackets, that is NOT how you copy data from one array to another. strcmp() rules.
The assignment to details is equally wrong.
ANY C book will clear up all of your erroneous misconceptions by the end of chapter 4. GET A BOOK. Forget about online resources. If nothing else, we can beat you over the head with the book. Can't do that with a URL.