data structures using return_data_type specifies the data type of the value that will be returned to the calling function as result of the processing performed by the called function (data_type variable data_type variable is list of variables of specified data types these variables are passed from the calling function to the called function they are also known as arguments or parameters that the called function accepts to perform its task note function having void as its return type cannot return any value similarlya function having void as its parameter list cannot accept any value function definition when function is definedspace is allocated for that function in the memory function definition comprises of two partsfunction header function body the syntax of function definition can be given asreturn_data_type function_name(data_type variable data_type variable statements return(variable)note that the number of arguments and the order of arguments in the function header must be the same as that given in the function declaration statement while return_data_type function_name(data_type variable data_type variable is known as the function headerthe rest of the portion comprising of program statements within the curly brackets is the function body which contains the code to perform the specific task note that the function header is same as the function declaration the only difference between the two is that function header is not followed by semi-colon function call the function call statement invokes the function when function is invokedthe compiler jumps to the called function to execute the statements that are part of that function once the called function is executedthe program control passes back to the calling function function call statement has the following syntaxfunction_name(variable variable )the following points are to be noted while calling functionfunction name and the number and the type of arguments in the function call must be same as that given in the function declaration and the function header of the function definition names (and not the typesof variables in function declarationfunction calland header of function definition may vary arguments may be passed in the form of expressions to the called function in such casearguments are first evaluated and converted to the type of formal parameter and then the body of the function gets executed if the return type of the function is not voidthen the value returned by the called function may be assigned to some variable as given below variable_name function_name(variable variable )