I am trying to understand three areas of App (iOS & Android) Development:

01 - User Signup
02 - Adding Friends
03 - Inviting Friends

Am i right in saying that there are two ways in which most apps allow users to sign up:

A - sign up using your email address (like Facebook and Twitter etc)
B - sign up by using your unique phone number (like Whatsapp)

QUESTION 01: I understand how A works, but how does B actually work?

02 - ADDING FRIENDS (that are on the network)
When we join Facebook or Twitter etc we can add friends using one of the following three ways:
A - search for your friend (using their name) to see if they are already on the network
B - enter their email address to search for them

However, if we are on Whatapp we seem to be able to:
C - access your friends via your contacts (if they already on the app)

QUESTION 02: Again, i understand how A & B works but i'm still not sure how C works?

03 - INVITING FRIENDS (that are not already on the network)

QUESTION 03: what are the best ways to allow users to invite their friends to the app, from within the app?

Should they:

01 - enter their friend's email address
02 - enter their friend's mobile number

QUESTION 04: i presume it is possible to enter your friend's mobile number on the app which then sends a default SMS to your friends via the app, where by the sender pays for the text?

QUESTION 05: what is the easiest way to allow a user to sign up on and app and also invite their friends who are not already on the app?

Thanks in advance for your help.