but anyways so theres really no way to do "steve" directly then
Your question is confusing. What do you mean “directly”? If you don’t want to use formatted input (which is what the scanf family is) then your alternative is fgets (which is usually what you want to use anyway). If you seek to read input without using the standard library, then you’ll have to go through the OS specific APIs.
and any answer on Q2?
Consider for a moment, the question, of how would you make an array of size 5, of element type char. Clearly, it’s
Now look at the semantics of the structure definition you have there. You define a structure, with a member name. This structure defines a new datatype, and you give this datatype a new name (with typedef): PERSON. Now, swap out the element type char with element with PERSON. So you have:
Once made how would I print out the name in element 3?
Printing out can be done with puts or printf. You want to pass in the array name, so you have something[2].name for the printf or puts argument.