We have already seen the format of the special function main. All functions share this format.
Similarities include:
When functions are called the actions associated with them in their declaration are performed.
There is one important difference, however, in functions with a non-void type. A value, of the type associated with that function, is generated by its call. Thus functions calls may be used as expressions. A function call is still a statement. if it returns a value, since an expression may be used as a statement.