Как работает вызов по значению и вызов по ссылке в C?

В программе на C, как работает вызов функции по значению, как работает вызов по ссылке и как вы возвращаете значение?